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.