Depois de carregar um determinado número de arquivos javascript / css, os arquivos estão demorando muito para carregar

2

Eu tenho um problema em que no carregamento da página (após um determinado número de arquivos .js ou .css) os arquivos estão demorando muito para serem carregados. No começo eu pensei que o problema deveria estar dentro dos arquivos .js, mas depois percebi que o conteúdo é irrelevante, eu tentei apagar o conteúdo dos arquivos .js que demoravam muito para carregar e o problema ainda estava lá. Eu também percebi que se eu mudar em torno da ordem em que os arquivos são carregados, então o (s) deixo para o último é sempre aquele (s) que demora muito para carregar (este tempo de carregamento difere de PC para PC, em o meu é 5-6 segundos, em outro é 19-20). Atualmente estou usando o Apache 2.4 para desenvolvimento e suspeito que o problema deve estar nas configurações em algum lugar.

Você pode ver o problema aqui:

Qualquer ajuda seria apreciada.

    
por barney.balazs 09.09.2014 / 14:25

2 respostas

1

A situação é bastante estranha. Minha sugestão é criar um perfil do cliente do seu aplicativo e tentar entender o que está acontecendo.

Geralmente, o problema pode depender de:

  1. Um conteúdo em cache local que é muito lento para ser lido, isso não deve depender de uma corrupção de arquivo específica, pois os arquivos que estão sendo lentos dependem da sequência que você colocou na referência JS.

  2. Um problema de renderização no cliente (embora isso não deva ser alterado na sequência dos itens referenciados)

  3. Um possível problema de transferências paralelas no seu servidor apache. Isso poderia implicar que você tem uma carga de arquivos a serem tomadas com diferentes operações GET e o Apache não pode servir todos eles em paralelo. Portanto, uma serialização pode ocorrer com os efeitos que você está experimentando.

  4. Diferentes maneiras de obter os mesmos arquivos, possivelmente abrindo outro funcionário no apache (ou seja, página principal através de IP direto para Apache, JS sobre proxy apontando para o mesmo Apache. E o Apache sendo configurado em um único cenário de trabalho não há informações suficientes para julgá-lo)

  5. Um maldito antivírus atuando localmente, que dispara nas operações de carregamento dos navegadores

Meu conselho é fazer o seguinte:

  1. Instale uma ferramenta de criação de perfil (a minha preferida é usar o Firebug)
  2. Perfil do aplicativo no painel NET
  3. Carregue a página e veja como os itens são carregados
  4. Tente verificar os logs no Apache. Para esse problema específico, se você estiver trabalhando em um servidor de desenvolvimento, tente aumentar o nível de log para depurar. "LogLevel Debug"

No final do perfil, você notará qual é a causa da serialização do processo.

    
por 09.09.2014 / 14:54
0

Os navegadores têm um limite de conexões simultâneas para um domínio. Isso significa que os navegadores não abrirão conexões adicionais para carregar recursos adicionais até que os recursos anteriores tenham terminado de carregar. Esta poderia ser uma das razões para o comportamento.

Portanto, é recomendável colocar todo o código .js em um único arquivo e também .css em um único arquivo.

Outra possibilidade é que, se isso acontecer em todos os carregamentos de página, os cabeçalhos do cache HTTP poderão ser definidos para que nenhum cache ocorra no lado do navegador. Portanto, o navegador carrega os recursos toda vez que se conecta à página, o que também atrasa o processo.

    
por 09.09.2014 / 23:38