Jump to content
vanad

Tipy pro zrychlení načítání stránek

Recommended Posts

Snažím se zrychlit načítání obchodu a narazil jsem na pěkný článek:

 

http://kb.hexageek.com/cs/hgkb-343-optimalizace-prestashopu

 

Zajímá by mě konkrétně toto:

 

 

 

5) Vytvořte subdomény pro Javascript soubory and CSS soubory
Vytvořte subdoménu js1.mystore.com a přesměrujte ji na /js/
Vytvořte subdoménu js2.mystore.com a přesměrujte ji na /theme/mytheme/js/
Vytvořte subdoménu css1.mystore.com a přesměrujte ji na /css/
Vytvořte subdoménu css2.mystore.com a přesměrujte ji na /theme/mytheme/css/

Tyto 4 subdomény umožní uživatelům načítat více souborů paralelně. Webový prohlížeč umožňuje jen 8 paralelních downloadů na jednu doménu. Každá subdoména přidává 8 nových, tak je možné mít ve výsledku 40 downloadů

Máte s tím někdo zkušenosti?

Share this post


Link to post
Share on other sites

V záložce Nástroje->Výkon jsem nastavil:

 

Smarty

- Překompilovat šablony, pokud byly soubory zaktualizovány - povolit

- Dočasná paměť (Cache) - povolit

 

Volitelné funkce

- Kombinace - zakázat

- Vlastnosti - zakázat

 

CCC (kombinace, komprese a cache)

- Smart cache pro CSS - použít CCC pro CSS - povolit

- Smart cache pro JavaScript - Použít CC pro JavaScript - povolit

- Minify HTML - Minify HTML po "smart kompilaci". - povolit

- Komprese vloženého JavaScriptu v HTML - Komprese vloženého JavaScriptu v HTML po "kompilaci smarty" - povolit

- Optimalizace Apache - povolit

 

Šifrování

- Algoritmus - Použít Rijndeal s knihovnou mcrypt

 

Caching

- Použít cache - zakázat (protože povolit nejde)

 

A v záložce Konfigurace -> Obrázky

Jsem dal regenerovat miniatury

 

 

Je to správně?

Co byste mi krom toho prosím ještě doporučili?

Share this post


Link to post
Share on other sites

.htaccess

# BEGIN Compress text files
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE \
 text/html \
 text/xml \
 text/css \
 text/plain \
 image/svg+xml \
 application/xhtml+xml \
 application/xml \
 application/rdf+xml \
 application/rss+xml \
 application/atom+xml \
 text/javascript \
 text/ecmascript \
 application/javascript \
 application/x-javascript \
 application/ecmascript \
 application/json \
 application/x-font-ttf \
 application/x-font-otf \
 font/truetype \
 font/opentype \
 application/x-pointplus
</ifModule>
# END Compress text files

# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
ExpiresByType text/html "access plus 604800 seconds"
ExpiresByType application/xhtml+xml "access plus 604800 seconds"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "private, max-age=360, must-revalidate"
</filesMatch>
</ifModule>
# END Cache-Control Headers
  • Like 3

Share this post


Link to post
Share on other sites

Mám to zkopírovat jak to je a přidat do .htaccess?

Share this post


Link to post
Share on other sites

Díky mnohokrát. Hned jse to přidal, ale asi budu mít nedostatky ještě jinde, protože se stále nemůžu dostat pod 2.6s s hlavní stránkou. A to tam zatím skoro nic nemám.

Share this post


Link to post
Share on other sites

Mě příjdou 3 vteřiny jako dobrej výsledek. Myslim, že bude lepší to řešit až tam budeš mít produkty.

Share this post


Link to post
Share on other sites

Tak jo, beru.  :)

 

A co tyto hodnoty?:

 

First Byte Time - hodnota F (0.6s)
Cache static content - hodnota F
Effective use of CDN - není

Share this post


Link to post
Share on other sites

Díky moc za užitečné rady. Zjistil jsem, že používám zbytečné moduly a tak jsem si pohrál i s tím. Zde jsou výsledky:

 

Původně:

http://www.webpagetest.org/result/140410_08_B59/

 

Po zakázání zbytečných, nepoužívaných modulů a úpravě, kterou jsem uvedl ve 4 příspěvku:

http://www.webpagetest.org/result/140411_G7_RQ9/

 

A po úpravě .htaccess:

http://www.webpagetest.org/result/140411_Q8_S2F/

 

:)  :)  :)

Share this post


Link to post
Share on other sites

Ta úpravy .htaccess taky dost pomohla, až na to, že se mi ten přidaný kód po čase vždy smaže. Vložil jsem to před # Images, ale to by asi mělo být jedno. Jak tomu zabránit?

Share this post


Link to post
Share on other sites

Možná by bylo lepší se poohlédnout po nějakém lepším hostingu.

Share this post


Link to post
Share on other sites

Hh, jako jo, neni uplně nejrychlejší :D Ale po zapnutí CCCček se to rozjelo jak po másle, takže pohoda :)

Share this post


Link to post
Share on other sites

Možná by bylo lepší se poohlédnout po nějakém lepším hostingu.

Tohle umí říct každý... ale proč ? Přesunů na jiný hosting jsem už viděl celkem dost ale většinou to ke zrychlení moc nevedlo .

Share this post


Link to post
Share on other sites

Ahoj Rabitte,

 

je ten kod do .htaccess i pro PS 1.6.0.9 na Wedosu?

 

Yop, yop, na verzi ani hostingu nezáleží, pokud tam běží zmíněné moduly, které to upravují.

 

Možná by bylo lepší se poohlédnout po nějakém lepším hostingu.

 

Co je pro tebe lepší hosting? A bavíme se o webhostingu, nebo VPS nebo dedikovaným?

 

Tohle umí říct každý... ale proč ? Přesunů na jiný hosting jsem už viděl celkem dost ale většinou to ke zrychlení moc nevedlo .

 

Já už těch přesunů viděl taky kotel, ale ten přesouvající o tom musí i něco vědět a neřešit jen, že to bude o 20kč levnější a budou tam mít o 1gb prostoru víc na maily...

 

Pokud hosting nemá úpravené konfigy na práci s innodb, tak je bezpředmětný přesun kamkoliv, za sebe můžu říct, že mi v tom lítá více jak 5 let testování a úprav, abych se dostal tam kam sem chtěl s optimalizací Prestashopu a pochybuju, že nějakej IT u jakýhokoliv hostingu tomu věnoval tolik pozornosti.

  • Like 1

Share this post


Link to post
Share on other sites

First view nebo first byte?

First view - Optimalizačníma technikama co jsem psal, rozdíl mezi secondem je, že už se něco uložilo do mezipaměti a proto to zrychlilo další načtení oproti úplně prvnímu.

First byte - Záleží většinou na rychlosti serveru předávat informace + odstranit všechny přesměrování. To znamená třeba bez www na www dělat přes doménu, nikoliv .htaccess apod, což bude asi tvůj případ. Jinak standard je fungování domény s www, ne naopak. Ale není to žádný vážný problém, pokud je vše správně přesměrováno a nevytváří se duplicity.
 

- Request 1: http://www.sperkyornatis.com/
URL: http://www.sperkyornatis.com/
Host: www.sperkyornatis.com
IP: 46.28.105.92
Location: Czech Republic
Error/Status Code: 302
Client Port: 62344
Start Offset: 0.166 s
Initial Connection: 53 ms
Time to First Byte: 89 ms
Bytes In (downloaded): 0.4 KB
Bytes Out (uploaded): 0.3 KB
Request Headers:

GET / HTTP/1.1
Host: www.sperkyornatis.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0 PTST/192
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Response Headers:

HTTP/1.1 302 Moved Temporarily
Date: Thu, 27 Nov 2014 16:22:43 GMT
Server: Apache
location: http://sperkyornatis.com/
Cache-Control: max-age=0
Expires: Thu, 27 Nov 2014 16:22:43 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 20
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
- Request 2: http://sperkyornatis.com/
URL: http://sperkyornatis.com/
Host: sperkyornatis.com
IP: 46.28.105.92
Location: Czech Republic
Error/Status Code: 200
Client Port: 62345
Start Offset: 0.390 s
DNS Lookup: 56 ms
Initial Connection: 50 ms
Time to First Byte: 518 ms
Content Download: 69 ms
Bytes In (downloaded): 7.8 KB
Bytes Out (uploaded): 0.3 KB
Request Headers:

GET / HTTP/1.1
Host: sperkyornatis.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0 PTST/192
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Response Headers:

HTTP/1.1 200 OK
Date: Thu, 27 Nov 2014 16:22:43 GMT
Server: Apache
P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
Set-Cookie: 5a2c67b4928ffe5745bb882ad7942d17=23jmYqf1XpZQU6sRWIj%2B%2FYk0zYHu0PYr4%2BQXsmr0%2B11zRoRI9OltThootgmnTHqbLSYjDrbSJ7RekdK3f%2FaNPzASGRbC255BG9cZtC%2BfmwJKD7zzWC9iBpmoXFGUt%2BnnCNcUXtKYTE%2FSmTIqQo7I15GhaLQkgGrNgQfugx0Slq4%3D000115; expires=Wed, 17-Dec-2014 16:22:43 GMT; path=/; domain=sperkyornatis.com; httponly
Vary: Host,Accept-Encoding
Cache-Control: max-age=0
Expires: Thu, 27 Nov 2014 16:22:43 GMT
Content-Encoding: gzip
Content-Length: 7313
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

Ale ty 4 sekundy jsou fakt v pohodě na české poměry u prestashopu. Samozřejmě existují další vychytávky, jako je třeba cloudflare, kde můžeš uložit celej shop do mezipaměti na cloudflare a i když ti hosting třeba na hodinu spadne, přes cloudflare bude pořád fungovat :) Ale to bych opravdu neřešil... 

Mrkni se na alzu :)http://www.webpagetest.org/result/141127_H5_WTM/

Za mě teda se stačí držet jednoduchejch pravidel:

1) vypnout moduly, které jsou k hovnu a nevyužíváš je ani ty, ani zákazník
2) vypnutí píčovinek, který využívají načítání nebo ověřování třetí strany url
3) vypnutí supercoolhightech slideshow a podobnejch kundovin
4) držel bych se flatovýho konceptu alzy, která je v tomhle leader, má xy studií jak má eshop vypadat a fungovat a nevymejšlel bych nic novýho, zákazníci jsou pořád stejný

  • Like 1

Share this post


Link to post
Share on other sites

Zdravím,

 

mám problém s načítáním Prestashopu po přesunu na nový hosting. Po přesunu mi trvá načítání i 20s. Cachování jsem nastavil dle návodu hostingu na souborový systém s hloubkou 2 a od té doby to zlobí. Když Cache vypnu, tak stránky běží normálně. Smarty cache mám zaplou stále.

 

Při zapnutí cache jsem udělal test: http://webpagetest.wedos.com/result/150211_Y5_2/1/details/

 

Psal jsem i na hosting a zatím neví. Neporadíte někdo??

 

Děkuji

 

Jary

Share this post


Link to post
Share on other sites

Ta úpravy .htaccess taky dost pomohla, až na to, že se mi ten přidaný kód po čase vždy smaže. Vložil jsem to před # Images, ale to by asi mělo být jedno. Jak tomu zabránit?

 

Ahoj,

 

to se smaže ve chvíli, kdy dojde k rekompilaci souborů — pokud máš zapnutou kompilaci a něco na webu upravíš, tak se ti znovu vygeneruje .htaccess bez tvojí úpravy.

Share this post


Link to post
Share on other sites

ten htaccess je fajn, ale v BO musim ted po kazdem kliknuti delat ctrl+F5, aby se zmeny projevily (treba pro zmenu statusu objednavky nebo vypnuti/zapnuti zbozi)...

Share this post


Link to post
Share on other sites

Ten kod do .htaccessu nestrkejte do tohodle
 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

ale nad to :D

Share this post


Link to post
Share on other sites

Zdravím Vás, neporadili by jste mi kde by mohl být problém při Time to first byte? Dělal jsem si test na http://www.webpagetest.org/result/180606_5D_42b46426bcbd856c0230d5aba9c9687c/ a mám cca 2.6s než odpoví server. Htaccess mám upraven, kompilacišablony i CCC smart cache pro CSS a JS i Apache také. Ale neustále bojuji s Time to First Byte: 2281 ms což mi přijde docela dost.. Snažil jsem se různě povypínat z šablony i moduly a přišlo mi že to moc vliv nemá. Hosting úplně podezírat nechci, přeci jen tam jedu další nePresta produkty a fungují dobře. Bohužel ale nemůžu zapnout Cache (memcached, APC, Xcache) protože Presta mi to nedovolí. Díky moc za každou radu.

Share this post


Link to post
Share on other sites

Pošlete screenshot z PS BackOffice > Advanced Parameters > Performance.

Share this post


Link to post
Share on other sites
19 minutes ago, inweb said:

Pošlete screenshot z PS BackOffice > Advanced Parameters > Performance.

Přikládám nastavení

performance.jpg

Share this post


Link to post
Share on other sites

Zkuste různé možnosti u položky "Vyčistit mezipaměť".

Share this post


Link to post
Share on other sites
22 hours ago, inweb said:

Zkuste různé možnosti u položky "Vyčistit mezipaměť".

Zkusil jsem nastavit u smarty > Vyčistit mezipaměť = "never clear cache files" a pak jsem zkusil jeste prepnout typ cache místo "filesystem" na "mysql" kde mi přijde že skrze mysql je to podstatně rychlejší. Ted uz to je mozna i o modulech (ale pokusil jsem se vypnout co jde) a také o samotné šabloně která má tedy dosti velké css a js kódy, které zkusím promazat od zbytecnosti ktere se nepouzivaji. Chci se zeptat, jaky maji vliv na zvyseni vykonu "cacheování - systém dočasné mezipaměti?" Tady bohuzel zrejme kvůli nastaveni hostingu nemohu nic zapnout. Moc diky za vas cas.

Share this post


Link to post
Share on other sites

Redukce CSS/JS souborů vylepší celkový page load time ale nikoliv TTFB. Redukce interních CSS/JS (v HTML kódu) může TTFB vylepšit ale ne příliš významně. Cache pomocí (Memcached, APC? XCache) v naprostém většině případů nepomůže (vyzkoušeno na řádově tisících webech s PS). Doporučujeme se zaměřit na nainstalované moduly a nastavení databáze, případně strukturu databáze (indexy apod.).

Share this post


Link to post
Share on other sites
On 8. 6. 2018 at 2:54 PM, inweb said:

Redukce CSS/JS souborů vylepší celkový page load time ale nikoliv TTFB. Redukce interních CSS/JS (v HTML kódu) může TTFB vylepšit ale ne příliš významně. Cache pomocí (Memcached, APC? XCache) v naprostém většině případů nepomůže (vyzkoušeno na řádově tisících webech s PS). Doporučujeme se zaměřit na nainstalované moduly a nastavení databáze, případně strukturu databáze (indexy apod.).

Moc děkuji za informace, zaměřím se ještě na nainstalované moduly.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More