Postanowiłem dać szansę PHP 7.0 na serwerze produkcyjnym, a konkretnie na WordPressie napędzającym tegoż blogaska. W końcu od premiery minęło jakieś dwa i pół miesiąca, w tym czasie bolączki wieku dziecięcego chyba powinny zostać wyeliminowane. Co więcej, próby na moich testowych maszynach wirtualnych nie wykazały żadnych problemów, za to pokazały wyraźne przyspieszenie.
Przesiadka jest łatwa i w pełni odwracalna, PHP 7.0 z dotdeb może działać równolegle do PHP 5.6 od Debiana, zatem wystarczy w konfiguracji vhosta zmienić ścieżkę do interpretera. Różnica w prędkości generowania stron jest wyraźnie odczuwalna organoleptycznie, ale jeśli do kogoś bardziej przemawiają liczby to poniżej wrzucam szybki test wykonany ab
.
PHP 5.6
Server Hostname: michal.durys.pl Server Port: 80 Document Path: / Document Length: 65737 bytes Concurrency Level: 4 Time taken for tests: 16.142 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Total transferred: 6594000 bytes HTML transferred: 6573700 bytes Requests per second: 6.20 [#/sec] (mean) Time per request: 645.680 [ms] (mean) Time per request: 161.420 [ms] (mean, across all concurrent requests) Transfer rate: 398.93 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 11 11 0.6 11 17 Processing: 281 630 143.4 627 1083 Waiting: 111 287 77.4 288 674 Total: 292 641 143.5 638 1094 Percentage of the requests served within a certain time (ms) 50% 638 66% 706 75% 767 80% 780 90% 804 95% 824 98% 879 99% 1094 100% 1094 (longest request)
PHP 7.0
Server Software: nginx/1.8.1 Server Hostname: michal.durys.pl Server Port: 80 Document Path: / Document Length: 65737 bytes Concurrency Level: 4 Time taken for tests: 6.343 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Total transferred: 6594000 bytes HTML transferred: 6573700 bytes Requests per second: 15.77 [#/sec] (mean) Time per request: 253.721 [ms] (mean) Time per request: 63.430 [ms] (mean, across all concurrent requests) Transfer rate: 1015.20 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 11 11 0.2 11 12 Processing: 63 241 92.4 219 557 Waiting: 34 123 45.1 109 206 Total: 74 252 92.3 230 568 Percentage of the requests served within a certain time (ms) 50% 230 66% 288 75% 307 80% 320 90% 365 95% 411 98% 501 99% 568 100% 568 (longest request)
Tak na oko, przyspieszenie jest blisko dwu i półkrotne, wszystko działa, w logach czysto, więc wygląda to obiecująca. Jeśli w najbliższych dniach nie wystąpią problemy dam szansę siódemce z Piwikiem, PrestaShop i Roundcube’em.