Autor Zpráva
marvays
Profil
Dobrý den.
Řeším specifický problém. Klient si vyžádal redesign webu, kdy přešel z "klasického" formátu barev do inverzního. Takže pozadí máme tmavě šedé a web celkově je tmavý.
Nyní se mu nelíbí, že ve chvíli, kdy přechází na webu z jedné stránky na druhou mu před načtením nové stránky prohlížeč zobrazí prázdnou bílou stránku. U klasických stránek si toho asi člověk nevšimne, ale tady je to výrazné. Ve chrome se to téměř nestává, ale IE to dělá. Je možné to nějak řešit?

náš web je na adrese www.lukysipy.cz . . . . když to porovnám třeba se stránkou www.tatra.cz tak jim to nedělá ani v IE.

Děkuji za nápady.
Kajman
Profil
Zkuste web optimalizovat na rychlost
developers.google.com/speed/pagespeed/insights

Připojení JavaScriptu s async a defer
Načítání CSS bez blokování vykreslování
marvays
Profil
Kajman:
No, to jsem myslel, že celkem mám :) Ale tak, musím se ještě hodně učit.

Jestli chápu správně druhý odkaz, tak ideální pro mě bude . . .

Asynchronní načítání CSS
V případě, že bude výsledné CSS hodně velké nebo zkrátka chceme první načtení co nejrychlejší, nabízí se styly rozdělit na dvě části:
Minimum stylů nutných k přijatelnému zobrazení obsahu „nad ohybem“ (obsah, který je vidět ihned po načtení, než začne uživatel rolovat).
Zbytek stylů („kritické CSS“).

. . . . takže do prvního css vložím jen třeba nadefinované <body> a odkaz na toto css musím vložit hned za <head>. Zbytek stylů pak vložím do druhého css souboru a nechám načítat až potom? Když to vezmu do extrému, tak v prvním css nadefinuju jen barvu pozadí stránky?
Kajman
Profil
Používáte tam 30 css a 38 js souborů. Určitě je potřeba čekat na všechny, než se začne stránka vykreslovat?

Pokud je problém jen bílá a jinak pomalost nevadí, můžete zkusit v první fázi jen nastavit pozadí a barvu textu přímo v <body> přes style. Možná ani to nepomůže, protože samotná html stránka se generuje na serveru kolem sekundy - na to by asi pomohlo cachování části stránek na straně serveru (redakčního systému).
marvays
Profil
Kajman:
Pokud je problém jen bílá a jinak pomalost nevadí
příjdou vám stránky pomalé? myslím, že a RS Joomla to není špatné :) Ale k věci . . . ano, jde jen o to probliknutí bílého pozadí prohlížeče, před načtením stránky.

Kajman:
Používáte tam 30 css a 38 js souborů
Byl jsem zvyklý nakonec vše spojit do jednoho, ale četl jsem o "novém" způsobů načítání css u webu běžícím na http2 a co jsem pochopill, tak by právě několik malých souborů mělo mít lepší výkon, než jeden velký. Takže jsem stím nic nedělal.


Kajman:
první fázi jen nastavit pozadí a barvu textu přímo v <body>
To nepomohlo. Tak jsem šel výš a zkusil použít barvu pozadí přímo do <head> a ani to problém nevyřešilo. Nakonec jsem šel nejvýš a nastavil barvu rovnou do <html>. Chrome a FF nemají problém a žádné prodlevy nevidím a ani jsem neviděl. Ale u IE to bylo viditelné dost. Nevím, jestli je to dáno IE jako prohlížečem, ale nyní, když mám HTML s šedým pozadím ta prodleva nevypadá rušivě.

Jinak zkusím najit nějaký český článek na toto téma a udělat si jasno, kdy a kde mám co a jak načítat :)

Děkuji
Mlocik97
Profil
marvays:
mne tie stránky prijdou že sú extrémne pomalé
Keeehi
Profil
marvays:
příjdou vám stránky pomalé? myslím, že a RS Joomla to není špatné
Na redakční systém to možná ujde (i když taky spíše ne) ale 1.5 - 1.8s TTFB mi přijde na prodejní eshop opravdu dost.

tak by právě několik malých souborů mělo mít lepší výkon, než jeden velký
Ano, to jsi pochopil správně. Jde ale o to, že nejspíše všechny nejsou potřeba při prvotním vykreslení stránky. Takže ty ostatní se dají označit, že se na ně nemá čekat.
Připojení JavaScriptu s async a defer

Naopak soubory u kterých server ví, že je bude uživatel potřebovat mu může tlačit společně s prvním požadavkem, takže k uživateli se dostane dříve, ještě před tím něž o něj požádá.
Mlocik97
Profil
Keeehi:
Na redakční systém to možná ujde

ne neujde,... aj na redakčný systém je to sakra pomalé...

pre tazatela odporúčam prečítať:

www.vzhurudolu.cz/blog/125-wordpress-richman
www.vzhurudolu.cz/prirucka/metriky-rychlosti
marvays
Profil
Mlocik97:
jede to na joomle a eshopový systém je VirtueMart


Ono, kdo ví, jak je kvalitní taky ten hosting. Pozoruji strašné výkyvy. V 11 dopoledne měla jedna konkrétní stránka TTFB 1.1 a plně načtena za 2,4s . . . o dvě hodiny později 2,2 a 5,6 a za dalších 10 minut pak 1,6 a 4,8s :(
Kajman
Profil
U asynchronního javascriptu je potřeba ošetřit případné závislosti mezi jednotlivým js soubory. Z toho důvodu se někdy balí více javascriptů do menšího počtu souborů i při http2.

Ke zrychlení odezvy serveru je pak možné zvážit zapnutí cachování v joomle, doprogramovat podporu cache do vlastních modulů, kontrola verze php (php7 je rychlejší než php5), změna hostingu či služby v rámci stejného hostingu.
Keeehi
Profil
marvays:
Nicméně ani ten nejlepší čas není tam kde bych si ho představoval třeba já. E-shopy na kterých jsem dělal měly TTFB hlavní stránky kolem 25ms, první načtení nějaké kategorie kterou neměl server v keši 200ms, po nekešování kategorie 25ms pro všechny uživatele.
Ale ano, neměli jsme běžný hosting. Měli jsme vlastní servery na kterých nám všechny ty shopy běžely. Když začal docházet výkon, tak se prostě přidaly další servery. Což chápu že neni řešení pro každého ale myslím že jednodušší varianta kde si člověk koupí jeden virtuální server, na něm si rozchodí vlastní web server tak by neměl být problém se dostat někam ke 100ms.

Jen bych ještě chtěl vypíchnout to kešování o kterém psal Kajman. Obzvláště u eshopů kde je spousta kombinací slev, akcí atp. je celkem náročné spočítat třeba cenu pro produkt. Pokud se to spočítá jen jednou a uloží do keše, je to výrazná úspora. Jak je vidět, v našem případě to pomhlo cca 10x.
marvays
Profil
zkusím tedy zapnout nějaký "tunning" věci co pro joomlu mám.

jen mi ale vrtá hlavou ty změny rychlosti. je to dáno odchylkou měření? nebo provozem (není nijak veliký)? Nebo fakt náladový webhosting . . .
blaaablaaa
Profil
marvays
Může to být cokoliv - zpomalení cestou, zpomalení na serveru (hostingy často omezují počet současných připojení, takže ostatní čekají, než se ty aktuální vyřídí). Ale je to jedno, obecně, pokud je TTFB přes vteřinu, je většinou něco špatně.
A ttfb je jen jedna z metrik, která by tě měla zajímat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0