Existe alguma coisa que eu possa fazer para diminuir o tempo de espera para minhas solicitações http estáticas (no painel de rede do chrome)?

6

Estou executando amazon aws ec2 micro instância em Ubuntu 14.04 com apache 2.4.9 . O motivo de ter essa instância é apenas testar e resolver alguns bugs antes de executar o projeto. Actualmente existem apenas poucas pessoas (< 10) que estão a utilizar o projecto de forma irregular (< 20 vezes por dia). No meu projeto estou usando minification, então eu tenho apenas poucos conteúdos estáticos: como 1 arquivo css e pode ser 3 arquivos js. Eles não são realmente grandes e a soma de todos os arquivos está abaixo de 300Kb.

Revendo o diagrama em cascata, do carregamento do meu projeto,

Tenhonotadoqueaquantidadedetempogastonafasedeespera(seeuforremovê-lo,provavelmenteositeserácarregadomaisde2vezesmaisrápido).Tambémeusabiaoquecorrespondeacadaumadessasfases(euatérespondia pergunta altamente relevante, eu não sei exatamente o que posso fazer para diminuir o tempo de espera . No meu caso, um grande tempo de espera é adicionado para recursos estáticos como css / js / img, por isso não tem nada a ver com escrever código mais eficiente.

Também encontrei outra pergunta altamente relevante aqui (que, na verdade, é a mesma pergunta que eu tenho) e tentei seguir o conselho trocando HostnameLookups Off mas não mudou nada.

Eu não tenho /etc/httpd/conf/httpd.conf , portanto, adicionei em /etc/apache2/sites-available/000-default.conf . Também não tenho nada parecido com LogFormat na minha configuração, portanto pulei essa parte.

Então, há algo que eu possa fazer para reduzir esse tempo? Quando reviso o mesmo diagrama coletado da localização do servidor, vejo uma pequena melhora no tempo de espera, mas a situação ainda é a mesma.

Eu entendo que posso mudar para um servidor melhor, com melhor HDD / RAM / CPU, mas isso é óbvio. Sabendo que existem tantos parâmetros de configuração para o apache, acho que pode haver algo para sintonizar.

P.S. graças a JakeGould, examinei o apache2.conf e modifiquei-o (não 000-default.conf como mencionei antes). Também modifiquei KeepAliveTimeOut para 3 e MaxKeepAliveRequests para 20, o que é mais adequado ao meu site.

    
por Salvador Dali 06.05.2014 / 00:02

2 respostas

2

De acordo com a documentação do Chrome , o tempo de espera é "Tempo gasto aguardando a inicial resposta." - mas você já sabia disso.

Não parece haver nenhuma explicação adicional disponível, mas de acordo com a linha do tempo abaixo, o estágio "aguardando" seria logicamente parecer ser latência de rede ou processamento do servidor da Web - ou seja, o tempo entre enviar a solicitação para o recurso e receber o primeiro byte da resposta.

VocêdissequeestáusandooAmazonEC2,masnãodissequaltipodeinstânciaestáusando.AsinstânciasdaAmazonnãosãoiguaisealgumastêmmenorprioridadedearmazenamentodoqueoutras,assimcomoCPUetráfegoderede,entãovocêdeveanalisarseusgargalos-seudisconãoprecisasergolpeadoparaquesejaumgargalo.VocêpodetentarmudarparaumainstânciacombackupdeSSD,comoo m3.medium ou m3.large .

Para medir seu iowait, use o comando iostat (contido no pacote sysstat no Ubuntu) com um período de tempo adequado enquanto estiver fazendo suas solicitações de teste.

Um outro recurso contencioso poderia ser RAM. O Linux geralmente é muito bom com o armazenamento em cache de arquivos na memória, mas se você não tiver RAM suficiente 'livre', o Apache irá para o disco em todos os arquivos.

    
por 11.05.2014 / 10:43
-1

Este é um problema no disco rígido. Muito provavelmente, o disco em que você está rodando está sob carga pesada e leva tempo para obter os dados do disco.

Eu não acho que haja uma maneira de controlar isso na Amazon. Você pode tentar manter o conteúdo mais importante no cache, talvez criando um pequeno disco virtual com o conteúdo estático mais importante.

Mas o melhor conselho para qualquer problema no Amazon EC2 é dar o fora e usar seu próprio servidor dedicado. É de má qualidade (lembre-se dos acidentes - nuvem minha bunda amazon), é unsave, é CIA + NSA acessível e é muito caro.

    
por 11.05.2014 / 06:15