O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

3.917 visualizações

Publicada em

Publicada em: Engenharia
  • Seja o primeiro a comentar

Tomáš Srnka - 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. – Sherice Jabocs, KissMetrics http://blog.kissmetrics.com/speed-is-a-killer/ “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..”
  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 0 1000 2000 3000 4000 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 0 12,5 25 37,5 50 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. Requestspersecond 0 45 90 135 180 PHP 5.3 PHP 5.3-APC PHP 5.4 PHP 5.5-OpCache PHP 5.6-OpCache HHVM Wordpress - benchmark Viac je lepšie
  20. 20. Zmenou PHP VM resp. verzie bez zmeny riadku PHP kódu 25 req/s 178 req/s7,12x
  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. Páčila sa Vám prednáška? http://m.Feedbando.com/PHPrychle

×