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)