Back to Question Center
0

Semalt spôsobuje čas čakania pred tým, ako sa načíta moja HTML?

1 answers:

Mám webovú stránku, ktorá sa zdá nabitá veľmi pomaly. Pri spustení testu rýchlosti na to vidím, že pred načítaním kódu HTML sa zdá, že existuje 6 sekundová medzera. Semaltové a JS skripty sa načítavajú veľmi rýchlo po tomto bode.

Na obrázku nižšie vidíte žlté čiarky "čakacia doba":

Semalt causing the 'wait' time before my HTML loads?

Toto sa zdá byť konzistentné bez ohľadu na obsah HTML na stránke.

Táto stránka používa CMS (ModX Revo), takže HTML je skutočne uložené v databáze SQL a prináša PHP, ale nikdy som sa s touto otázkou nikdy nezažil.

Semalt niekto vedieť, čo to spôsobuje a ako to môžem urýchliť?

February 8, 2018

Technický pojem na čakanie sa označuje ako čas do prvého bajtu a určuje odpoveď webového servera alebo iných sieťových zdrojov.

Niektoré bežné dôvody, prečo môžete vidieť najvyšší čas na prvý bajt:

  • Preťažená sieť (bežne zdieľaný hosting)
  • Nesprávne konfigurovateľné servery
  • vzdialenosť od vás a servera (geografická poloha hrá menšiu úlohu)
  • Chyby servera (chmeľ)

Vo všeobecnosti je tento problém často viditeľný v zdieľanom hosťovaní kvôli množstvu webových stránok a návštevníkom, čo samozrejme zvyšuje čas bajtu v sieti. Ďalšou možnou príčinou je chyba v sieti niekde, napríklad hop alebo preto, že váš server nie je v mieste vášho cieľového publika, napríklad server "DOBRÝ" v UK bude mať nižší bajtový čas ako americký server zacielený na používateľov v UK, vzhľadom na vzdialenosť, ktorú je potrebné zasielať a prijímať (zvyčajne je to približne 100 až 200 ms).

Možno je čas na získanie nového hostiteľa

V minulosti som sa musel presunúť zo servera na server kvôli oneskoreniu času na prvý byte, môže byť v situácii, že si musíte vybrať nový webový hostiteľ alebo aktualizovať svoj aktuálny balík.

Spoľahlivé testovanie

Testovanie rýchlosti vášho webu z vášho domáceho širokopásmového pripojenia je veľmi zaujatý, pretože môže byť problém s tým, že vaše širokopásmové pripojenie nereaguje na webové stránky. Mali by ste otestovať svoje webové stránky pomocou viacerých pripojení z viacerých serverov Odporúčam test webových stránok a bežať viacero testov naraz z rôznych lokalít a mnoho z cieľových geo publík. To vám poskytne lepší prehľad o tom, čo sa deje, ak je jeho prvý byte potom odporúčam, aby ste sa obrátiť na váš web hostiteľa pred ničím iným.

Ping a sledovať smerovanie servera

Ak sa pokúsite spustiť ping na serveri, výsledky sa môžu zobraziť alebo nemusia, ping používa skôr ICMP ako UDP alebo TCP, čo znamená, že nie je ako dotazovanie na server na portu 80, na ktorom bude vaše httpd beží. Môžete použiť trasovú trasu na identifikáciu všetkých serverov na trase, ktoré by mohli spôsobiť nárast prvého bajtu netýka sa servera httpd na portu 80 a ak traceroute pomocou systému Windows bude používať ICMP a Mac / Linux stroje budú používať UDP. Stojí to za testovanie, pretože jeho tak rýchla a ľahká vec, ale ak sa výsledky vrátia v poriadku, nemusí nevyhnutne znamenať, že tam nie je žiadny problém.

1) Máte Adobe TypeKit, ktorý sa nenačíta asynchrónne s aktuálnym kódom. Skúste ho nahradiť pokročilým asynchrónnym kódom: http: // help. Typekit. com / zákazník / portál / články / 649336-embed-code

Tento štandardný embed kód využíva skutočnosť, žetagy blokujú ďalšie vykresľovanie stránky, aby sa zabránilo výpadku FOUT[Flash Unstyled Text]. Zatiaľ čo sa skript Typekit načíta,vykresľovanie stránky je zablokované, takže sa text nezačne zobrazovaťalternatívne fonty.

2) Testujte s novým typeKit. Ako sa načítava čas teraz? Lepšie? Prejdite na krok 3.

3) Nahraďte svoj službu Google Analytics aktualizovaným jazykom JavaScript, ktorý poskytuje najnovšiu asynchrónnu syntax: https: // vývojári. Google. com / analytics / devguides / collection / gajs /

4) Test. Je ešte lepšie načítanie stránky?

5) Nakoniec zvážte optimalizáciu obrázkov, ako je vzor. jpg. Premenil som ho na PNG a dokázal som znížiť veľkosť súboru z 199kB na 56kB. Tým sa skracuje čas na príjem súboru: https: // www. Dropbox. com / s / i06jx509bmprhhh / pattern. png? dl = 0

Dúfam, že to pomôže.

PHP vs. Non-PHP prvky

Ak porovnáte časy načítania aktív, ktoré nepatria do PHP, na čas načítania založený na PHP, uvidíte, že server reaguje rýchlo, ak PHP nie je zapojený.

Toto zvyčajne indikuje vnútorné problémy vášho PHP skriptu.

Problém môže byť v rámci vrstvy PHP alebo databázy. Pomocou pokročilých nástrojov na ladenie, ako je XDebug alebo NewRelic, vám pomôže rýchlo nájsť prekážku.

Problémy s časom do prvého bytu môžu byť spôsobené hardvérovými obmedzeniami, nedostatočnou konfiguráciou alebo neefektívnym kódom. Pri zdieľanom hosťovaní sú pravdepodobne obmedzenia hardvéru a zlá konfigurácia.

V každom prípade riešenie problému zvyčajne znamená jednu alebo všetky:

  • Viac hardvéru
  • Lepšie programovanie
  • Pridať do vyrovnávacej pamäte

Rýchlejší hardware je zjavné, ale často nákladné riešenie, ak už máte vyhradené zdroje.

Lepšie programovanie nemusí byť možné, ak je problém vnútorný pre kód, ktorý neudržíte alebo nemáte zdroje pre vývojárov.

Ukladanie do vyrovnávacej pamäte pomáha znížením počtu požiadaviek, ktoré musia naraziť na základné, nedostatočne výkonné zdroje.

Testovanie

Pri používaní testovacích nástrojov sa uistite, že máte viacero cyklov. Sieťové a dočasné hroty serverov vás môžu ľahko viesť smerom nadol k nesprávnej ceste, takže sa chcete pokúsiť o ich priemerné zisťovanie.

Ak sa nachádzate na zdieľanom účte hosťovania, zvážte prechod na služby typu cloud alebo VPS, aby ste mali lepší prehľad o problémoch s výkonom. Ak nepoužívate techniku ​​ukladania do vyrovnávacej pamäte (službu typu CDN alebo Cloudflare), opravy problémov s výkonom na systémoch hromadného zdieľaného hostingu môžu byť veľmi náročné, pretože nemáte dostatočnú kontrolu nad serverom.

Semalt spôsobuje čas čakania pred tým, ako sa načíta moja HTML?
Reply