Požiadavka Chrome hovorí "Zobrazujú sa dočasné hlavičky":
Prvýkrát, keď prehliadač odošle túto požiadavku, požiadavka je zablokovaná a žiadna odpoveď nie je prijatá. Keď je prehliadač požiadaný o opätovné odoslanie tejto požiadavky, zobrazí toto varovanie, ak predchádzajúca rovnaká požiadavka nebola zodpovedaná, kde teda bude problém?
Stretol som sa s tým viackrát v projekte a predstavím rôzne scenáre:
1. Provizórne hlavičky sa zobrazujú pri prístupe do prehliadača všetkých klientov:
Ako sa s tým vysporiadať: Skontrolujte stránku, kde bola požiadavka spustená, či sa súčasne spustia odoslanie formulára a požiadavka Ajaxu.
Napríklad definujte tlačidlo, typ je submit, a definujte ajax udalosť pre tlačidlo;
Tento scenár je jedným z tých, ktoré sa objavili v našom predchádzajúcom vývojovom procese
2. Niektoré klientské prehliadače sa objavujú
Ako to riešiť: Zavolajte chrome://net-internals/#events Chrome, potom znovu spustite požiadavku a potom skontrolujte logy požiadaviek, kde sa zobrazujú provizórne hlavičky;
Pozrite sa, či existujú delegate_blocked_by kľúčové slová; Zvyčajne je to spôsobené plug-inom do prehliadača alebo softvérom klienta, ktorý požiadavku zachytí; Situáciu, ktorú máme, zachytáva WebSense Endpoint;
Ak je to tak, dá sa to v podstate ignorovať, je to problém klienta; Môžete zvážiť odinštalovanie pluginu alebo softvéru a skúsiť to znova, či sa stále objavuje; Ak sa to stále vyskytuje, skontrolujte, či to nespadá pod nasledujúce podmienky
3. Všetci klienti mali túto chybu náhodne a príležitostne, a ak je to tak, často ide o problém na strane servera
Spôsob spracovania: Riešenie problémov na základe architektúry nasadenia. Napríklad niekoľko kľúčových procesov v našej architektúre nasadenia sú nginx----> gateway application----> F5 load balancer----> aplikačný server (docker)
Môžeš riešiť problém vrstva po vrstve, najjednoduchší spôsob je priamo napísať požiadavku for loop curl príkazom server shell a najprv zavolať najnižší aplikačný server (ak sa bojíš, že tlak nie je dostatočný, môžeš ho stlačiť viacerými vláknami); Postupne stlačte hore; Počas záťažového testovania môžete v reálnom čase vidieť, či požiadavka zostane zaseknutá; Ak sa nájde, je veľmi pravdepodobné, že toto je problém:
V súčasnosti sme sa stretli s dvoma situáciami, jedna je na úrovni F5, niektoré požiadavky sú neúspešne vyvážené záťažou na aplikačný server; Existuje aj situácia, keď je zaseknutý na úrovni nginx;
Riešenie: Stratégia vyvažovania záťaže na úrovni F5 bola zmenená z výkonnostnej úrovne L4 na štandardnú.
Plán riešenia situácií na úrovni nginx: V skutočnosti som sa tejto situácie nezúčastnil a chápem, že úprava mnohých konfigurácií nginx nemá žiadny efekt, a nakoniec len zabíjam a preinštalujem, takže som nenašiel kľúčový bod
Moje vlastné riešenie, pretože Fiddler 4, ktorý používam, nie je normálne zatvorený, tak som Fiddler 4 znovu otvoril, skúsil požiadať stránku a vrátil sa do normálu, v tom čase som Fiddler 4 opäť zatvoril.
|