Chrome ağ günlüğü "Durdu" durumunu anlama


172

Chrome'da aşağıdaki ağ giriş bilgilerim var:

ağ günlüğü

İçinde bir şey anlamıyorum: dolu gri çubuklar ve şeffaf gri çubuklar arasındaki fark nedir?


2
Son iki hafta boyunca bunu çok görüyorum. Chrome'da vardiya yenileme yaptığımda 125 öğe yüklüyorum. Arada bir, bu dosyaların 3-4 tanesi "Stalled" durumunda kalır. Tüm dosyalar .png dosyalarıdır. Tek düzeltme sekmeyi kapatmak, başka bir tabloyu yeniden açmak ve geliştirici araçlarını yeniden açmaktır. Ben bu sorun olmadan bir yıldır bu kod tabanı üzerinde çalışıyorum ve png dosyaları üzerinde böyle bir davranışa neden olacağına inandığım herhangi bir değişiklik olmadı.
Greg Grater

Yanıtlar:


202

Google, Ağ performansını değerlendirme bölümünde bu alanların dökümünü verir , DevTools belgelerinin bölümünde .

Kaynak ağı zamanlamasından alıntı :

Sofra / Engelleme

İsteğin gönderilmeden önce beklediği süre. Bu süre, vekil görüşmesinde harcanan herhangi bir zamanı kapsar. Ayrıca, bu süre, tarayıcının önceden kurulmuş bir bağlantının yeniden kullanılabilir olmasını beklediğini ve Chrome'un başlangıç ​​kuralı başına maksimum altı TCP bağlantısına uyduğunu içerecektir .

(Unutursanız, Chrome'un fareyle üzerine gelme ipucunda ve "Zamanlama" panelinin altında bir "Açıklama" bağlantısı vardır.)

Temel olarak, bunu görmenizin başlıca nedeni, Chrome'un sunucu başına bir seferde yalnızca 6 dosya indirmesi ve bir bağlantı yuvası kullanılabilir hale gelene kadar diğer isteklerin durdurulmasıdır.

Bu mutlaka ihtiyaçları tespit olduğunu bir şey, ama tutarak, birden fazla alan adları ve / veya sunucular arasında dosyaları dağıtmak olacaktır durmuş durumunu önlemek için tek yol değildir CORS'yi ihtiyaçlarınız için geçerli, ancak HTTP2 muhtemelen daha iyi bir seçenek olup olmadığını akılda ileriye gidiyor. Kaynak birleştirme (JS ve CSS birleşimi gibi), durdurulan bağlantıların miktarını azaltmaya yardımcı olabilir.


1
6 dosya sınırı yerel dosyalar için de geçerli mi? Bir sayfa yüklerken zaman zaman durgun durumla karşılaşıyorumfile:///C:/...
Ilya Kogan

@IlyaKogan Dosya sisteminden yükleme yapılırken 6 dosya limiti yok gibi görünüyor, ancak bir "Stalled" aşaması var gibi görünüyor. Tahminimce bu, Chrome'un dosyayı dosya sisteminde açması için geçen süreyi ve "İçerik İndirme" aşaması, içeriği belleğe yüklemek için geçen süreyi temsil eder.
Alexander O'Mara

4
Bilginize: Krom 42'de, sırada bekleyen süre dokümanlar tarafından belirtilen Durdurulan / Engellenen bölüm olarak sayılmaz, ancak toplamda bulunur. Kuyrukta zaman kazanmak için tüm bölümleri toplamdan çıkarın. Umarım dokümanlarını güncellerler (veya hatayı düzeltirler).
delrox

20
Ancak beyaz ve gri çubuklar arasındaki fark nedir?
Kat

Daha yüksek eşzamanlılık elde etmek için alan adı kırılması önerilmez. Bunun yerine HTTP2 kullanın. Bkz. Youtube.com/watch?v=yURLTwZ3ehk
Homer6

13

DevTools: [ağ] önceki istekte bulunan boş çubukları açıklıyor

Daha fazla araştırdı ve Stalled ve Queuing serilerimiz arasında önemli bir fark olmadığını belirlediler. Her ikisi de netstack veya renderer'dan ziyade diğer zaman damgalarının deltalarından hesaplanır.


Şu anda bir soketin kullanılabilir olmasını bekliyorsak:

  • bazı vekalet müzakereleri gerçekleşirse bunun durduğunu söyleriz
  • proxy / ssl çalışması gerekmiyorsa kuyruğa alma olarak adlandırırız.

6

https://developers.google.com/web/tools/chrome-devtools/network-performance/understanding-resource-timing

Bu resmi Chome-devtools sitesinden geliyor ve yardımcı oluyor. İşte alıntı:

  • Queuing bir istek o belirtti sıraya ise:
    • Kritik kaynaklardan (komut dosyaları / stiller gibi) daha düşük önceliğe sahip olduğu için istek oluşturma motoru tarafından ertelendi. Bu genellikle görüntülerde olur.
    • Boşta kalmaya hazır olan kullanılabilir olmayan bir TCP soketini beklemek için istek beklemeye alındı.
    • Tarayıcı HTTP 1'de kaynak başına yalnızca altı TCP bağlantısına izin verdiği için istek beklemeye alındı. Disk önbellek girişleri yapmak için harcanan zaman (genellikle çok hızlıdır).
  • Durdu / Engelleme İsteğin gönderilmeden önce beklediği süre. Queuing için açıklanan nedenlerden herhangi birini bekliyor olabilir. Buna ek olarak, bu süre vekil görüşmesinde harcanan herhangi bir zamanı kapsar.

1

Benim durumum, sayfanın açıkken farklı parametrelerle birden fazla istek göndermesi. Yani çoğu "durdu". Aşağıdaki istekleri hemen gönderilir "durdu". Gereksiz taleplerden kaçınmak daha iyi olurdu (tembel olmak ...).


1

Birçok kişi buraya yavaş web sitelerinde hata ayıklama geldiğinden ben google açıklamaları hiçbiri çözmeye yardımcı olan benim durumum hakkında sizi bilgilendirmek istiyorum. Benim büyük durdu zamanları (bazen 1 dakika), bağlantıları işlemek için çok az çalışan iş parçacığı olan Windows üzerinde çalışan Apache neden oldu, bu nedenle sıraya alındı.

Apache günlüğünüzde aşağıdaki not varsa bu durum sizin için geçerli olabilir:

Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

Bu sorun Apache httpd.conf dosyasında giderilmiştir. Tavsiye: conf / extra / httpd-mpm.conf dosyasını dahil et

Ve httpd-mpm.conf dosyasını düzenleyin

<IfModule mpm_winnt_module>
   ThreadLimit              2000
   ThreadsPerChild          2000
   MaxConnectionsPerChild   0
</IfModule>

2000 iş parçacığına veya daha fazlasına ihtiyacınız olmayabileceğini unutmayın. 2000 davam için iyi oldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.