Požadavek Chrome říká "Zobrazeny jsou provizorní hlavičky":
Při prvním odeslání tohoto požadavku je požadavek zablokován a odpověď není přijata. Když je prohlížeč požádán, aby tento požadavek znovu odeslal, zobrazí toto varování, pokud předchozí stejný požadavek nebyl zodpovězen, kde tedy bude problém?
Setkal jsem se s tím několikrát v projektu a představím různé scénáře:
1. Při přístupu do prohlížeče všech klientů se zobrazují provizorní hlavičky:
Jak se s tím vypořádat: Zkontrolujte stránku, kde byl požadavek spuštěn, abyste zjistili, zda se současně spustí odeslání formuláře a žádost Ajaxu.
Například definujte tlačítko, typ je submit, a definujte ajax událost pro tlačítko;
Tento scénář je jedním z těch, které se objevily v našem předchozím vývojovém procesu
2. Některé klientské prohlížeče se objevují
Jak s tím pracovat: Zavolejte chrome://net-internals/#events v Chrome, pak znovu spusťte požadavek a zkontrolujte záznam požadavků, kde jsou zobrazeny provizorní hlavičky;
Podívejte se, zda existují delegate_blocked_by klíčová slova; To je obvykle způsobeno tím, že dotaz zachytí plug-in do prohlížeče nebo software klienta; Situaci, kterou máme, je zachycena WebSense Endpointem;
Pokud je tomu tak, lze to v podstatě ignorovat, je to problém klienta; Můžete zvážit odinstalaci pluginu nebo softwaru a zkusit to znovu, jestli se stále objevuje; Pokud se to stále objevuje, zkontrolujte prosím, zda to spadá pod následující podmínky
3. Všichni klienti tuto chybu měli náhodně a občas, a pokud je tomu tak, často jde o problém na straně serveru
Metoda zpracování: Řešení problémů podle architektury nasazení. Například několik klíčových procesů v naší architektuře nasazení jsou nginx----> gateway application----> F5 load balancer----> aplikační server (docker)
Můžete řešit problémy vrstvu po vrstvě, jednoduchý způsob je přímo napsat požadavek for loop curl příkazem servershellu a nejprve zavolat server s nejnižším počtem aplikací (pokud se bojíte, že tlak není dostatečný, můžete ho stlačit více vlákny); Postupně tlačte nahoru; Při zátěžovém testování můžete v reálném čase zjistit, zda se požadavek zasekne; Pokud se to objeví, je velmi pravděpodobné, že problém je následující:
V současnosti jsme se setkali se dvěma situacemi, jedna na úrovni F5, některé požadavky jsou neúspěšně vyvažovány zatížením na aplikační server; Existuje také situace, kdy je zaseknutý na úrovni nginx;
Řešení: Strategie vyvažování zátěže na úrovni F5 byla změněna z výkonnostního L4 na standardní.
Plán řešení situace na úrovni nginx stuck situation: Ve skutečnosti jsem se této situace neúčastnil a chápu, že úprava mnoha konfigurací nginx nemá žádný efekt, a nakonec jen zabijte a znovu nainstalujte, takže jsem nenašel ten klíčový bod
Moje vlastní řešení, protože Fiddler 4, který používám, není normálně zavřený, tak jsem Fiddler 4 znovu otevřel, zkusil požádat o web a vrátil se do normálu, v tuto chvíli jsem Fiddler 4 zase zavřel.
|