Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Občasné pomalé načítání webu

David Flídr
verified
rating uzivatele
(22 hodnocení)
7. 1. 2011 15:13:01
Dobrý den, nejsem si jist, zda-li tento problém patří zrovna sem, ale budiž. Máme jeden větší web cca 30 - 35 000 UIP denně. Máme zřízený server u forpsi. A teď k problému. Web se někdy načítá strašně pomalu a někdy zase obrovskou rychlostí. Možná by mi tu někdo argumentoval že záleží na zátěži, ale toto se děje i třeba v noci. A právě zase naopak při největší zátěži se načítá hodně rychle. Napadá někoho kde by mohl být problém? Nebo existují nějaké nástroje na zjištění problému? Web jsem testoval např. přes http://www.webpagetest.org/ a ten ukazuje rychlost 86 ze 100, což není tak nejhorší podle toho co jsem zkoušel i jiné weby.
děkuji za rady
7. 1. 2011 15:13:01
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597587
I v noci může být server zatížený, třeba zálohováním.
Nebo může jít o studenou cache, sérii cache misses, jinou službu běžící v pozadí atp.
Musíte nejdřív přijít na to, co je přesně pomalé. Hrubý obraz podá vmstat, jinak rozdělte aplikaci na části a profilujte (měřte, jak dlouho co trvá). Nějaký jednotný nástroj IMHO ani existovat nemůže, vždycky musíte hrábnout do kódu a železa.
7. 1. 2011 15:44:25
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597586
sweetree
verified
rating uzivatele
7. 1. 2011 15:52:04
K Martinově odpovědi bych doplnil: zkuste vyloučit infrastrukturu, tedy zkusit vlastní zátěžový test přímo na serveru po domluvě s poskytovatelem hostingu (předpokládám, že si na forpsi nemáte jak instalovat potřebné skripty a nastavovat cron s mnoha položkami).
Při nejhorším alespoň na nějaký čas umístěte do hostingu testovací noťas a testy dostupnosti zkuste tam. Pokud hosting používá nějaký složitější filtr proti útokům, snadno může jít i o limitace počtu celkově otevřených spojení, blokace ip zdrojů podezřelých z pokusu o dos útoky, kompromisní nastavení sessions timeoutů u samotných web serverů ap. To, že je pro vás tři ráno neznamená, že je tomu tak pro firmy ze zahraničí nebo že neběží záloha databází, která dokáže sebesilnějšímu stroji pěkně zamávat s dostupností. Pokud mají na daném serveru stovky, ba tisíce webovek v kombinaci s db, tak bych se vysoké dostupnosti spíše divil.
7. 1. 2011 15:52:04
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597585
David Flídr
verified
rating uzivatele
(22 hodnocení)
7. 1. 2011 19:09:23
tak jsem možná měřením časů nalezl potřebný problém, vždy když web zpomalý a já odmažu těchto pár řádků, okamžitě je zpět rychlý
ini_set("session.gc_maxlifetime","115200");
ini_set("session.cookie_lifetime","115200");
session_start();
if ($_GET=="odhlaseni")
{
unset($_SESSION);
unset($_SESSION);
session_destroy();
}
konkrétně hlavně řádek session_start(); je možné, že by toto mohlo tak brzdit web?
7. 1. 2011 19:09:23
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597584
Dobrá detektivní práce. Teď je to jasné, viz tento komentář v manuálu.
PHP použije write lock na soubor se session a neumožní jej otevřít znovu, dokud se zámek neuvolní. To znamená, že pokud používáte iframe, nebo otevřete stránku příliš brzy ve druhém tabu, druhé načtení čeká na ukončení prvního.
Řešení je buď používat vlastní mechanismus pro sessions, nebo ukončit write lock, jakmile už nepotřebujete do session nic zapisovat, pomocí
session_write_close();
Nejste sám, viz třeba
http://www.phpfreaks.com/forums/php-coding-help/session_start()-is-slow/
http://forums.powweb.com/showthread.php?t=77977
7. 1. 2011 19:20:07
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597583
David Flídr
verified
rating uzivatele
(22 hodnocení)
7. 1. 2011 19:54:45
Moc děkuji za rady. Takže pokud jsem to správně pochopil, stačí na konec každé stránky, která začíná session_start() umístit session_write_close(); ?
7. 1. 2011 19:54:45
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597582
Spíš bych řekl umístěte to hned za session_start, s výjimkou stránek, kde session upravujete - tzn. kde si uživatel upravuje své perzistentní údaje - např. profil, nákupní košík atd.
7. 1. 2011 19:59:04
https://webtrh.cz/diskuse/obcasne-pomale-nacitani-webu/#reply597581
Pro odpověď se přihlašte.
Přihlásit