Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
História, súčastnosť a budúcnosť 
spracovania PHP… 
! 
vieme PHP ešte zrýchliť? 
Tomáš Srnka
Tomáš Srnka 
@tomassrnka, @relbit
“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 ...
PHP je pomalé 
alebo… 
bolo pomalé?
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 Squ...
• PHP 5.3 je pomalé, žiadne cachovanie kódu 
• Riešenia: 
• APC - Alternative PHP Cache 
• OPCache (?)
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 
• OPCac...
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...
Opcache 
Executing 
Caching 
Optimizing 
Parsing&Compiling 
opcodes 
opcodes 
opcodes 
opcodes 
Shared memory 
Save&Load
Kam ďalej
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 vyda...
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š...
• Just-in-time (JIT) kompilacia do bytecode 
• Výrazne lepší výkon, až 10x rýchlejšia exekúcia 
• (Takmer) stabling riešen...
• Proof-of-concept 
• Github nesedí s reálnym stavom, vývoj za 
zatvorenými dverami 
• Opensource verzia bude k “ničomu” 
...
Benchmark-y 
• Testovacie prostredie: 
• Scientific Linux 6.5 (klon RHEL 6), OpenVZ, ZFS (100% IO hitrate) 
• Core i7 920 ...
Fannkuch 
• Hrubá vypočetná sila, generovanie permutacií 
Sekundy 
4000 
3000 
2000 
1000 
0 
PHP 5.3 
PHP 5.4 
PHP 5.5 
P...
gcBench 
• Memory allocation & Garbage Collector Benchmark 
Sekundy 
50 
37,5 
25 
12,5 
0 
PHP 5.3 
PHP 5.4 
PHP 5.5 
PHP...
Wordpress 3.9.1., 1GB dummy dát, 15 pluginov 
# ab -c 20 -n 10000 http://IP/wordpress/?page_id=5
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-O...
Zmenou PHP VM resp. verzie 
bez zmeny riadku PHP kódu 
25 req/s 7,12x 178 req/s
Čo sa do testu nezmestilo 
• JPHP - Kompilátor PHP do JVM, 2-10x rýchlejší 
ako čisté PHP, kompatibilné s PHP 5.4 
• Zephi...
Kam ide PHP? 
• Opensource je super, každý si môže spraviť 
svoj FORK :) 
• Veľká fragmentácia v posledných mesiacoch, 
či...
Ďakujem za pozornosť
Otázky? 
• Twitter: @tomassrnka, @relbit 
• tomas.srnka@relbit.com
http://m.Feedbando.com/PHPrychle
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP…   vieme PHP ešte zrýchliť?
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP…   vieme PHP ešte zrýchliť?
Upcoming SlideShare
Loading in …5
×

Devel.cz - História, súčastnosť a budúcnosť spracovania PHP… vieme PHP ešte zrýchliť?

277 views

Published on

História, súčastnosť a budúcnosť spracovania PHP…
vieme PHP ešte zrýchliť? Prehľad a zhrnutie aktuálneho stavu (JÚL 2014).

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Devel.cz - História, súčastnosť a budúcnosť spracovania PHP… vieme PHP ešte zrýchliť?

  1. 1. História, súčastnosť a budúcnosť spracovania PHP… ! vieme PHP ešte zrýchliť? Tomáš Srnka
  2. 2. Tomáš Srnka @tomassrnka, @relbit
  3. 3. “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/
  4. 4. PHP je pomalé alebo… bolo pomalé?
  5. 5. 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
  6. 6. • PHP 5.3 je pomalé, žiadne cachovanie kódu • Riešenia: • APC - Alternative PHP Cache • OPCache (?)
  7. 7. 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
  8. 8. 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%
  9. 9. Opcache Executing Caching Optimizing Parsing&Compiling opcodes opcodes opcodes opcodes Shared memory Save&Load
  10. 10. Kam ďalej
  11. 11. 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
  12. 12. 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é
  13. 13. • 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
  14. 14. • 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Wordpress 3.9.1., 1GB dummy dát, 15 pluginov # ab -c 20 -n 10000 http://IP/wordpress/?page_id=5
  19. 19. 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
  20. 20. Zmenou PHP VM resp. verzie bez zmeny riadku PHP kódu 25 req/s 7,12x 178 req/s
  21. 21. Č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 ]
  22. 22. 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)
  23. 23. Ďakujem za pozornosť
  24. 24. Otázky? • Twitter: @tomassrnka, @relbit • tomas.srnka@relbit.com
  25. 25. http://m.Feedbando.com/PHPrychle

×