Mam jeden projekt ~ 4 lata, zacząłem od wersji 5.3 i Symfony 2.0, migrowałem do wersji 5.5 i S2.3. W tej chwili przeszedłem do wersji S2.8 i chcę przeprowadzić migrację do php 7.Symfony 2. Projekt migracji do php 7 z php5.5. Problemy z wydajnością
Ponieważ było tak dużo wokół wydajności PHP 7, bardzo chciałem przetestować wydajność mojego projektu w dev env.
Tak działający benchmark w dev env; usługa jest na vagrantowym hoście mającym zarówno php5-fpm, jak i php7.0-fpm, wyłączając jeden i ustawiając drugi.
Spodziewałbym się, że php7 będzie lepszy od php5, ale w zasadzie wygląda na to, że php7 jest 1,5-2 razy wolniejszy na moim lokalnym dev env.
Co robię źle? A może powinienem jakoś przepisać moją aplikację?
phpinfo: php 7 http://pastebin.com/a6a76vE2 php 5 http://pastebin.com/4GBXNmBB
P.S. Tak, rozumiem, że testy wydajności w lokalnym dev env nie są w 100% poprawne i czyste, ale muszę tylko zrozumieć, czy php7 jest szybszy niż php5, jak to powiedział.
U1
Najzabawniejsze jest to, że blackfire jasno pokazuje, że php 7 wynosi ~ 45% szybciej niż PHP 5. Ale kiedy jestem sieging, niż widzę, że obniża wydajność.
U2
Tu jest mniej lub bardziej moja konfiguracja zwyczaj dev ENV. To samo dotyczy php5.5 i php7:
[Date]
date.timezone = Europe/Tallinn
[PHP]
memory_limit = 512M
expose_php = Off
cgi.fix_pathinfo = 0
post_max_size = 10M
upload_max_filesize = 10M
max_execution_time = 60
realpath_cache_size = 4096k
realpath_cache_ttl = 7200
error_reporting = E_ALL | E_STRICT
log_errors = On
error_log = /var/log/php.errors.log
display_errors = On
display_startup_errors = On
html_errors = On
; xdebug
xdebug.remote_enable = On
xdebug.remote_port = 9001
xdebug.max_nesting_level = 200
xdebug.remote_log = /tmp/xdebug.log
xdebug.remote_connect_back = on
xdebug.idekey = "vagrant"
[opcache]
opcache.enable_cli=0
opcache.save_comments=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=66000
opcache.fast_shutdown=1
opcache.enable=1
opcache.revalidate_freq=5
opcache.validate_timestamps=1
@VaheShadunts, doskonale dla Ciebie. Jakieś wskazówki, na co patrzeć? Może być jakieś ustawienia opcache, poprawki w konfiguracji aplikacji lub buforowanie bootstrap? –
Czy próbowałeś uruchomić testy na innym komputerze lub w innej konfiguracji? –
@ A.L Myślę, że mój problem jest bardziej związany z konfiguracją niż z maszyną. Ale nie jestem pewien, czego szukać. Zasadniczo konfiguracja php-fpm jest taka sama, konfiguracja puli jest taka sama. Kod jest taki sam. Więc nie mam jasnej wskazówki. –