Dopředu avizuji, že pro mnohé z vás nebude obsah následujících řádků ničím novým a výjimečným. Jde pouze o rekapitulaci obecně známých pravd a nástrojů, které máme k dispozici.
Jak je na tom hosting s rychlostí PHP?
Rychlost zpracování skriptů tvořících webovou aplikaci má vliv na to, jak rychle se dostane HTML výstup směrem k uživateli a začne se mu načítat vložený obsah v podobě obrázků, flashe atd. Jestliže má hosting se zpracováním skriptů problém, pak se to samozřejmě projeví i na rychlosti vašeho webu. Jeho případné optimalizace budou jen řešením následků, nikoli problému, což je samozřejmě špatný přístup.
Informaci o tom, jak je daný server, respektive hosting rychlý ve zpracování PHP, vám může nabídnout jednoduchý skript nazvaný PHP Benchmark. Spouští několikrát sadu různých výpočtů a následně zobrazí průměrné časy pro jejich zpracování. Výsledek pak můžete porovnat s měřením na jiných serverech.
Několik měření pomocí PHP Benchmark uvádím v následující tabulce:
Hoster | Hosting | Průměrná hodnota | Nejlepší hodnota | Nejhorší hodnota | Poznámka |
HostGator | Business Plan | 51 ms | 33 ms | 81 ms | |
Linode | 512 | 200 ms | 169 ms | 238 ms | |
Wedos | VPS 8 | 36 ms | 30 ms | 48 ms | díky FotoTipy.cz |
HostGator | Personal Plan | 34 ms | 29 ms | 50 ms | hosting s Windows |
Web4U | Optimal | 33 ms | 31 ms | 40 ms | |
Webhosting C4 | C4 Hosting | 32 ms | 31 ms | 35 ms | |
Active 24 | VPS (neupřesněno) | 53 ms | 28 ms | 76 ms | |
Endora | - | 25 ms | 25 ms | 27 ms | zjistil N.T. |
Wedos | NoLimit | 29 ms | 27 ms | 43 ms | zjistil David Mach |
Hexageek | Web Basic | 28 ms | 26 ms | 32 ms | poskytl Hexageek |
Český hosting | - | 37 ms | 37 ms | 38 ms | poskytl Libor Vymětalík |
Windows Azure | trial | 103 ms | 93 ms | 109 ms | |
Gigaserver.cz | - | 39 ms | 36 ms | 58 ms | poskytl BandiOl |
Máte-li změřeny další, můžete poslat do komentářů, do tabulky doplním.
Unese hosting vaši zátěž?
Z trošku jiného pohledu můžeme měřit výkon serveru tak, abychom dostali informaci o rychlosti, s jakou jsou data zpracovávána pro naši konkrétní aplikaci. Na mysli mám docela známý Apache Benchmark. Jde o nástroj fungující v příkazovém řádku, který dovede nasimulovat počet souběžných připojení na server, provést několik opakování a ve výsledku vám zobrazit počet úspěšných a neúspěšných načtení stránky (jen HTML, bez obrázků a vložených věcí typu CSS nebo JS), procentuální vyčíslení rychlosti načítání (tj. kolik procent požadavků se vešlo do jakého času) a řadu dalších údajů.
Apache Benchmark můžete využít též k tomu, abyste otestovali, jak velkou zátěž váš server ustojí. Na podobné hrátky ovšem dejte pozor, na hostingu vás možná nebudou mít moc rádi, u vlastního serveru si jej můžete snadno shodit tak, že nepůjde na dálku restartovat.
Použití Apache Benchmark je jednoduché a stejné ve Windows, v Linuxu i v Mac OS X. Stačí použít příkaz ve tvaru:
ab -kc 20 -n 100 http://adresawebu/stranka.php
Číslo za přepínačem c udává počet souběžných spojení, tedy simuluje, kolik lidí v jeden okamžik načítá stránku z webu (nikoliv, kolik na ni kouká po načtení), přepínač n s následnou hodnotu zase určuje počet opakování testu. Po provedení uvidíte výsledky měření.
V Mac OS X a Linuxu můžete výsledek nechat zapsat do souboru příkazem ve varu
ab -kc 20 -n 100 http://adresa/stranka.php > soubor.txt
Apache Benchmark najdete v balíčku s Apachem. Stačí jej rozbalit a spustit. V Linuxu Apache nainstalujete přes správce balíčků, v Mac OS X třeba v rámci MAMP.
Když chcete testovat rychlost webu
Pro klasické testování rychlosti načítání webu, můžete použít jiné nástroje. Ty vám ovšem dají odpověď na to, jak rychle dochází k přenosu různých částí webové stránky do počítače, nikoli, jak je server rychlý nebo jak si rozumí s vaším webem. Odkáži vás na starší články:
- WebPagetest: otestujte rychlost webu
- BrowserMob: otestujte rychlost svého webu
- Měříme rychlost webu s pomocí Google
U posledního článku bych se ještě zastavil. Nejenom v Google Chrome a Firefoxu můžete zjistit, jak dlouho se vám tak která část stránky načítá a jak pomůže například agregace CSS kompletnímu načtení webu. Dnes již mají tuto funkci všechny významné prohlížeče:
- V Internet Exploreru najdete potřebnou informaci po stisku F12 na záložce Síť
- Ve Firefoxu ji najdete po instalaci Firebugu a Google Page Speed vpanelu Firebugu
- V Google Chrome není třeba nic instalovat, jen na stránku klepněte pravým tlačítkem, zvolte Inspect Element a záložku Síť (omlouvám se, nemám českou verzi)
- V Safari i prohlížeči Opera je postup podobný
Jak na problémové elementy v Drupalu?
Drupal, ostatně jako všechny velké systémy pro správu obsahu, může být velkým požíračem výkonu a velkých webů. Chcete-li zjistit, která položka na stránce má největší režii při práci s databází, může Vám pomoci modul Devel, který po zapnutí a volbě pro zobrazení informací o SQL a spotřebě paměti zobrazí tyto údaje vespod stránky.
S využitím různých profilovacích nástrojů, jako je třeba jedna z funkcí v Komodo IDE, můžete začít odhalovat slabá místa ve zpracování PHP skriptů, ale to už se dostáváme mimo testování výkonu serverů a hostingu spíše k směrem optimalizaci webu. O tom zase někdy příště.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Podobné články
Komentáře k článku
Díky, doplněno.
Článek o optimalizaci webu bych uvítal.
Webhosting WEDOS, program NoLimit
Lowest: 27 ms, hightest: 43 ms, average of all 12 times: 29 ms, average of middle 10 times: 28 ms
Vliv na měření má bezpochyby také momentální vytížení webu. Těchto výsledků bylo dosaženo ve večerních hodinách, navíc během fotbalového TV přenosu... ;-)
prumerna 28ms, nejlepsi 26ms, nejhorsi 32ms
Lowest time: 37 ms , Highest time : 38 ms
Average of all 12 times: 37 ms
Average of middle 10 times: 37 ms
Lowest time: 36 ms , Highest time : 58 ms
Average of all 11 times: 39 ms
Average of middle 9 times: 37 ms
www.gigaserver.cz po migraci na nové servery
Free PHP Benchmark Performance Script
Test #1 completed in 28 ms.
Test #2 completed in 28 ms.
Test #3 completed in 29 ms.
Test #4 completed in 27 ms.
Test #5 completed in 29 ms.
Test #6 completed in 30 ms.
Test #7 completed in 35 ms.
Test #8 completed in 32 ms.
Test #9 completed in 39 ms.
Test #10 completed in 30 ms.
Test #11 completed in 29 ms.
Test #12 completed in 31 ms.
Lowest time: 27 ms , Highest time : 39 ms
Average of all 12 times: 31 ms
Average of middle 10 times: 30 ms
Test #1 completed in 31 ms.
Test #2 completed in 30 ms.
Test #3 completed in 31 ms.
Test #4 completed in 31 ms.
Test #5 completed in 31 ms.
Test #6 completed in 31 ms.
Test #7 completed in 31 ms.
Test #8 completed in 31 ms.
Test #9 completed in 31 ms.
Test #10 completed in 31 ms.
Test #11 completed in 31 ms.
Test #12 completed in 31 ms.
Lowest time: 30 ms , Highest time : 31 ms
Average of all 12 times: 31 ms
Average of middle 10 times: 31 ms
Řekl bych, že rychlost obstojná na to, že hosting stojí jen 200 Kč vč.DPH/rok.
Hosting na hukot.net program V Pohodě za 20Kč/měs.
Test #1 completed in 22 ms.
Test #2 completed in 22 ms.
Test #3 completed in 28 ms.
Test #4 completed in 25 ms.
Test #5 completed in 42 ms.
Test #6 completed in 22 ms.
Test #7 completed in 25 ms.
Test #8 completed in 22 ms.
Test #9 completed in 23 ms.
Test #10 completed in 25 ms.
Test #11 completed in 30 ms.
Lowest time: 22 ms , Highest time : 42 ms
Average of all 11 times: 26 ms
Average of middle 9 times: 25 ms
Hosting na hostingu Ebola.cz
Test #1 completed in 14 ms.
Test #2 completed in 25 ms.
Test #3 completed in 15 ms.
Test #4 completed in 14 ms.
Test #5 completed in 13 ms.
Test #6 completed in 14 ms.
Test #7 completed in 13 ms.
Test #8 completed in 14 ms.
Test #9 completed in 13 ms.
Test #10 completed in 13 ms.
Test #11 completed in 15 ms.
Test #12 completed in 15 ms.
Lowest time: 13 ms , Highest time : 25 ms
Average of all 12 times: 15 ms
Average of middle 10 times: 14 ms
Inmotion Hosting: 1 year Pro Plan - $190 / 1 rok
Jsem maximálně spokojený!
Free PHP Benchmark Performance Script
Test #1 completed in 8 ms.
Test #2 completed in 7 ms.
Test #3 completed in 9 ms.
Test #4 completed in 9 ms.
Test #5 completed in 9 ms.
Test #6 completed in 9 ms.
Test #7 completed in 5 ms.
Test #8 completed in 9 ms.
Test #9 completed in 9 ms.
Test #10 completed in 7 ms.
Test #11 completed in 9 ms.
Test #12 completed in 9 ms.
Lowest time: 5 ms , Highest time : 9 ms
Average of all 12 times: 8 ms
Average of middle 10 times: 9 ms
Endora - průměr 25ms, nejnižší 25ms a nejvyšší 27ms