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.

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

  • Be the first to comment

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

    Be the first to comment

    Login to see the comments

  • pattosk

    Jun. 30, 2014

Views

Total views

4,153

On Slideshare

0

From embeds

0

Number of embeds

2,826

Actions

Downloads

6

Shares

0

Comments

0

Likes

1

×