2015-06-15 8 views
8

A volte (non tutte le volte, ma di solito) quando sto sviluppando localmente, dopo che centinaia di file JS sono stati scaricati con successo (sembra che al momento stiamo usando gli script 1393), Chrome passerà dal download i file in parallelo per scaricarli in serie.Chrome passa al download seriale di script

Il server è nodo, utilizzando express e il modulo "serve-static". Sto utilizzando Chrome 43.0. Sto usando il nodo 0.12.2. Sto usando serve-static 1.9.3. I file vengono tutti richiesti utilizzando un normale tag script come <script src="foobar.js"></script>. Sospetto che si tratti di un problema di Chrome perché le risposte del server non cambiano. Ma le richieste del browser non cambiano neanche, solo il loro timing/ordine.

Qualche idea?

enter image description here enter image description here

Edit: Dato che questo sembra essere un problema di Chrome, ho presentato un bug report per Chromium qui: https://code.google.com/p/chromium/issues/detail?can=2&q=serial%20script%20downloading&colspec=ID%20Pri%20M%20Week%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified&id=500948&thanks=500948&ts=1434467876

+0

E cosa ti aspetti? Considerando che la specifica HTTP limita il numero di connessioni client/server simultanee ... –

+0

E tuttavia, in che modo esattamente includi quegli script? –

+0

@ c-smile Le specifiche HTTP limitano il numero di connessioni simultanee ma devono ** quindi ** quindi essere scaricate in gruppi, ovvero 6 connessioni chiuse 6 nuove più aperte (o riutilizzate) ad esempio. Uno per uno è uno strano problema. – devconcept

risposta

1

Ogni browser ha un numero massimo di richieste simultanee che eseguirà in una volta da un determinato host e accoderà tutte le altre richieste. La maggior parte dei browser supporta 6 per hostname. Vedi qui per maggiori dettagli su ciascun browser: http://www.browserscope.org/?category=network&v=top

1393 è un sacco di script da scaricare su una singola pagina. Potrebbe essere necessario rivedere l'architettura di progetto complessiva della struttura di file & per minimizzare tali file per l'indirizzamento della root.

È possibile esaminare/ridurre i file javascript in un singolo file o set di file, operazione che dovrebbe essere eseguita anche se si dispone di alcuni file javascript per ottimizzare le prestazioni.

È inoltre possibile utilizzare CDN (Content Delivery Network) per ospitare alcuni o tutti i file. Distribuendo i file attraverso diversi nomi host (ad esempio http://host1.com/file1.js e http://host2.com/file2.js) il browser può scaricare contemporaneamente i file simultanei di massimo da ciascun host.

+0

A causa del numero di script, l'effetto scala è previsto, ma nello screenshot fornito, dopo i primi 6 non viene definitivamente caricato alcun script in parallelo; tutti gli altri sono completamente elaborati uno alla volta. – Katana314

+0

In produzione concateniamo e miniamo, questo è un problema che sto riscontrando nello sviluppo localmente – hrdwdmrbl

Problemi correlati