5. Klasický webhosting
3 EUR / mesačne
1000 pageviews / denne
Netreba žiadne extra znalosti
Takmer nulové prispôsobenie prostredia
6. Virtual Server
5 - 100 EUR / mesačne
1000 - 20k pageviews / denne
Vyhradené(?) CPU,RAM,IO
Základné znalosti sysadmina!
Prispôsobiteľné pre vlastné potreby
Vyššia cena
Vlastná cena
7. Dedikovaný server
100-2000 EUR / mesačne
20-200k pageviews / denne
Dedikované CPU,RAM,IO
Vyžaduje o niečo lepšie znalosti ako pri virt. serveri!
Dedikovaný výkon
Hardvér je prispôsobiteľný presne na mieru
Vysoká cena
Vlastná zodpovesnosť aj za HW
13. • Zlý časovač pre CPU čas
• Veľmi zlý časovač pre IO
• Filesystémy z ’90 rokov*
• Network stack problematický (?)
* BTRFS je nepoužiteľné
14. Solaris a FreeBSD
• Veľmi málo rozšírené
• Slabý userspace a testovanie
• Skoro nik nepoužíva pre PHP
• Avšak majú ZFS, lepšie
časovače a aj network stack
18. Na začiatok…
• Každá služba (a jej jednotka) má svoj kontajner
• Lepší scheduler
• Lepší IO scheduler pre SSD
• ZFS pre… všetko okrem host OS
25. PHP-FPM
• Sessions presunúť do memcached
• Nastaviť PHP-FPM na static, 2x počet jadier
• Lifetime procesu cca 1000 requests
• Zrušiť APC a nahradiť OPCache
• Zrušiť zápisy na disk z PHP aplikácie
• Disk nie je cache. Naozaj.
26. Fannkuch
• Hrubá vypočetná sila, generovanie permutacií
Sekundy
4000
3000
2000
1000
0
PHP 5.3
PHP 5.4
PHP 5.5
PHP 5.6-dev
HHVM
HippyVM
Menej je lepšie
27. Requests per second
Wordpress - benchmark
180
135
90
45
0
PHP 5.3
PHP 5.3-APC
PHP 5.4
PHP 5.5-OpCache
PHP 5.6-OpCache
HHVM
Viac je lepšie
28. Zmenou PHP VM resp. verzie
bez zmeny riadku PHP kódu
25 req/s 7,12x 178 req/s
29. MySQL
• Defaultné hodnoty po čase prestanú stačiť
• Zakladné 2 hodnoty kam sa pozrieť:
• MyISAM: key_buffer_size
• InnoDB: innodb_buffer_pool_size
• slow log
43. Browser
balancer
MariaDB
balancer
webserver webserver … webserver
DB balancer DB balancer
MariaDB … MariaDB
44. Web a jeho dáta
• centrálne úložisko (SAN alebo NAS)
• znovu SPOF, zväčša pomalé
• distribuované zdieľané úložisko
• veľmi tažko realizovateľné alebo pomalé
• read only dáta (netreba zdielať)
• treba upravovať aplikáciu