4. “Nearly half of web users expect a site to load
in 2 seconds or less, and they tend to abandon
a site that isn’t loaded within 3 seconds..”
– Sherice Jabocs, KissMetrics
http://blog.kissmetrics.com/speed-is-a-killer/
6. PHP 5.3
• 5.3.X verzia je najpoužívanejšia PHP verzia
• viac ako 50% market share vďaka distribúciam
RHEL 6, Debian Squezy, Ubuntu 12.04 LTS
• end of life, 5.3.28 obsahuje niekoľko kritických
chýb
7. • PHP 5.3 je pomalé, žiadne cachovanie kódu
• Riešenia:
• APC - Alternative PHP Cache
• OPCache (?)
8. PHP 5.4
• Nárast výkonu o cca 15%
• Zníženie pamäťovej náročnosti o 20%
• Real life, niekde okolo 5% zlepšenie
• OPCache sa stáva použiteľným
9. PHP 5.5
• Build-in OpCache a štandardne je zapnutá
• Voči PHP 5.4 znovu zrýchlenie o 15% bez
OpCache, s OpCache výrazne viac
• Real life potvrdzuje aj zrýchlenie o 15-20%
13. PHP 5.6-dev
• Evolúcia PHP, tak ako pri 5.4 a 5.5
• Aktuálne PHP 5.6-RC1
• Značne zlepšená OpCache
• PHP 5.6 bude vydané v najbližších mesiacoch
14. PHP-NG (5.7-dev)
• Umožní implementovať JIT kompilátory do PHP
• Výrazne zníženie alokácie pamäte => Zníženie
počtu inštrukcií
• Wordpress používa iba 45% počtu inštrukcií na
vygenerovanie homepage voči PHP 5.5
• SAPI mod_php nebude dostupné
15. • Just-in-time (JIT) kompilacia do bytecode
• Výrazne lepší výkon, až 10x rýchlejšia exekúcia
• (Takmer) stabling riešenie
• Kompatibilné s väčšinou opensource Frameworkov
16. • Proof-of-concept
• Github nesedí s reálnym stavom, vývoj za
zatvorenými dverami
• Opensource verzia bude k “ničomu”
• 2-3x rýchlejšie ako HHVM / 20-30x rýchlejšie ako
PHP
17. Benchmark-y
• Testovacie prostredie:
• Scientific Linux 6.5 (klon RHEL 6), OpenVZ, ZFS (100% IO hitrate)
• Core i7 920 - 2.66GHz, 24GB RAM
• nginX a fastcgi
• Vlastné buildy PHP 5.3, 5.4, 5.5, 5.6-dev, HHVM a HippyVM
!
• Cieľ
• Porovnať hrubý a reálny dopad zmien medzi verzia PHP a nových PHP VM
18. 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
19. gcBench
• Memory allocation & Garbage Collector Benchmark
Sekundy
50
37,5
25
12,5
0
PHP 5.3
PHP 5.4
PHP 5.5
PHP 5.6-dev
HHVM
HippyVM
Menej je lepšie
21. 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
22. Zmenou PHP VM resp. verzie
bez zmeny riadku PHP kódu
25 req/s 7,12x 178 req/s
23. Čo sa do testu nezmestilo
• JPHP - Kompilátor PHP do JVM, 2-10x rýchlejší
ako čisté PHP, kompatibilné s PHP 5.4
• Zephir - Kompilátor PHP do C, vlastný fork PHP
• PHP-NG - v čase testu viac padalo ako bežalo $
• HippyVM - neexitujúca opensource MySQL
extension
• [ Moja “vlastná” VM pre PHP ]
24. Kam ide PHP?
• Opensource je super, každý si môže spraviť
svoj FORK :)
• Veľká fragmentácia v posledných mesiacoch,
či už vo forme VM alebo samotného jazyka
• Rasmus Lerdorf naklonený HHVM, Vývojári
Zend bojujú za vlastný JIT, preto PHP-ng
• Čas ukáže, zatiaľ vyhráva HHVM (Facebook)