Rychlost hostingů, s Nette i bez něj
- knyttl
- Člen | 196
Ahoj,
vybírám teď pro sebe nový hosting a zajímá mě, kde jste hostovaní ostatní. Konkrétně by mě zajímala rychlost; napsal jsem krátký skript (těžko říct, jak moc o něčem vypovídá, třeba jej můžeme rozvinout), kterým ty rychlosti „odhaduji“: https://gist.github.com/1155460
Zatím vítězí Onebit (hosting PROFI), kde průměrný čas je 0.31s.
U mě na 2GHz DualCore běží v consoli 0.54s,
Hosting Savana 2000, 0.85s.
Když se podělíte o časy na jiných hostinzích, budu rád.
Vojtěch
Editoval knyttl (19. 8. 2011 12:05)
- Filip Procházka
- Moderator | 4668
Myslím, že to o ničem nevypovídá. Spusť ten script v různých denních dobách přes ab a pak to možná bude malinko reálné.
- nanuqcz
- Člen | 822
Na ten Wedos jsem zvědavý :-)
U mě na Savana 500 pokaždé 3.79 sec (a nějaké drobné k tomu :-D)
- Ot@s
- Backer | 476
knyttl napsal(a):
Supr. Jak chceš testovat tu databázi a FS?
Jen v rychlosti…
Test DB:
class Stamp {
var $stamps = array();
function startBlock($key='total') {
$this->stamps[$key] = microtime(true);
}
function stopBlock($key='total') {
$this->stamps[$key] = microtime(true) - $this->stamps[$key];
}
function getResult() {
return $this->stamps;
}
}
$s = new Stamp();
$s->startBlock();
// pripojeni k DB
$s->startBlock('db_connection');
$db = new PDO("mysql:host=localhost;dbname=test", 'test', 'test');
$s->stopBlock('db_connection');
// zalozeni + naplneni testovaci tabulky
$s->startBlock('sql_create_table');
$db->query('CREATE OR REPLACE TABLE bench (id INT AUTO_INCREMENT PRIMARY KEY, value VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL)');
for($i=1;$i<10000;$i++) {
$db->query("INSERT INTO bench(value) VALUES('.md5($i).')");
}
$s->stopBlock('sql_create_table');
// cas pro "zotaveni" systemu
sleep(1);
// test na SELECTy
$s->startBlock('sql_select_from_table');
$rows = $db->query("SELECT * FROM bench WHERE id>5000");
$s->stopBlock('sql_select_from_table');
// uklid ... nemusime merit
$db->query('DROP TABLE bench');
$s->stopBlock();
// vysledky
print_r( $s->getResult() );
Test FS:
$s->startBlock();
// vytvoreni CSV souboru
$s->startBlock('fs_create_file');
$fp = fopen('tmp/tmp.csv', 'w');
for($i=1;$i<10000;$i++) {
fwrite($fp, $i.";".md5($i)."\n");
}
fclose($fp);
$s->stopBlock('fs_create_file');
// cteni CSV
$s->startBlock('fs_read_file');
$fp = fopen("tmp/tmp.csv", "r");
$myarray = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$myarray[ $data[0] ] = $data[1];
}
unset($myarray);
fclose($fc);
$s->stopBlock('fs_read_file');
$s->stopBlock();
// a vysledky
print_r( $s->getResult() );
Editoval Ot@s (19. 8. 2011 12:38)
- Patrik Votoček
- Člen | 2221
Rychlost PHP, DB a FS nehraje takovou roli jako rychlost odezvy (tj i cesta dat po síti). Měly by jste proto své testy spouštět přes AB jak říká HosipLan.
- Ot@s
- Backer | 476
Patrik Votoček napsal(a):
Rychlost PHP, DB a FS nehraje takovou roli jako rychlost odezvy (tj i cesta dat po síti).
Takhle bych ty priority nestavěl. Konektivita providerů už dnes nebývá
problém (jestli něco, tak dostupnost udávaná v % a tu stejně obyčejný
smrtelník objektivně nezměří). Největší problém, dle mé letité
zkušenosti, jsou „zasekané“ hostingové servery hned následované
podivnými konfiguracemi v php.ini (kolik hosterů nabízí u svých produktů
odkaz na phpinfo()
?). A to ani nemluvím o technické podpoře,
která otráví i jinak dobrý hosting.
- Patrik Votoček
- Člen | 2221
Ad dostupnost ta je dnes v podstatě všude stejná. Ad konektivita no tak jasné to zase není jsou české hostingové společnosti, které mají servery reálně v zahraničí takže je odezva delší.
Zasekané servery, podivná konfigurace a technická podpora jsou taky aspekty na které by se při výběru hostingu měl brát ohled. Nicméně je to věc, která se v tomto vláknu neřeší proto jsem jí nezmiňoval.
- Ot@s
- Backer | 476
Ebola.cz, tarif Ebola Multi START: Average time of 10 iterations: 0.344 seconds.
Active24.cz, tarif ?: Average time of 10 iterations: 0.620 seconds.
Forpsi.cz, tarif ?: Average time of 10 iterations: 0.897 seconds.
Forpsi.cz – jina IP serveru, tarif ?: Average time of 10 iterations: 0.633 seconds.
Cesky-hosting.cz, tarif ?: Average time of 10 iterations: 0.504 seconds.
Arachne.cz :-D, tarif ? : Average time of 10 iterations: –0.0629 seconds.
Editoval Ot@s (19. 8. 2011 16:58)
- Filip Procházka
- Moderator | 4668
Tomu ab, jde nastavit zasílání více požadavků najednou a taky množství. Doporučil bych hodnoty trochu zvednout než na 1 a 10 :)
- knyttl
- Člen | 196
Zkusil jsem tedy z toho kodu odstranit těch deset iterací a iteroval 100× přes to ‚ab‘:
ab -n 100 http://web/…enchmark.php
Onebit:
Concurrency Level: 1
Time taken for tests: 50.015 seconds
Complete requests: 100
Failed requests: 13
(Connect: 0, Receive: 0, Length: 13, Exceptions: 0)
Write errors: 0
Total transferred: 23986 bytes
HTML transferred: 9886 bytes
Requests per second: 2.00 [#/sec] (mean)
Time per request: 500.148 [ms] (mean)
Time per request: 500.148 [ms] (mean, across all concurrent requests)
Transfer rate: 0.47 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 28 30 1.3 30 39
Processing: 337 470 357.4 380 3391
Waiting: 337 436 201.6 380 1486
Total: 367 500 357.4 410 3421
Percentage of the requests served within a certain time (ms)
50% 410
66% 411
75% 453
80% 511
90% 577
95% 1228
98% 1516
99% 3421
100% 3421 (longest request)
Savana:
Concurrency Level: 1
Time taken for tests: 87.757 seconds
Complete requests: 100
Failed requests: 8
(Connect: 0, Receive: 0, Length: 8, Exceptions: 0)
Write errors: 0
Total transferred: 19290 bytes
HTML transferred: 1390 bytes
Requests per second: 1.14 [#/sec] (mean)
Time per request: 877.575 [ms] (mean)
Time per request: 877.575 [ms] (mean, across all concurrent requests)
Transfer rate: 0.21 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 25 27 3.9 26 64
Processing: 715 850 55.0 882 969
Waiting: 715 850 55.0 882 969
Total: 742 878 54.8 909 996
Percentage of the requests served within a certain time (ms)
50% 909
66% 921
75% 922
80% 922
90% 923
95% 941
98% 967
99% 996
100% 996 (longest request)
Editoval knyttl (19. 8. 2011 21:37)