OVH Community, votre nouvel espace communautaire.

Chute performances PHP 5 vs 4.4 !!!


Ludo.H
08/02/2016, 13h44
Bonjour,

J'ai fait des test sur le fichiers index.php à la racine de votre www :

PHP 4.4.9 : 0.017s
PHP 5.2.17 : 0.016s
PHP 5.3.29 : 0.017s
PHP 5.4.45 : 0.016s
PHP 5.5.30 : 0.016s
PHP 5.6.15 : 0.016s
PHP 7.0.0 : 0.014s


J'ai fait des tests sur d'autres fichiers, les tests donnent les mêmes chiffres (à quelques millisecondes).

Je ne trouve pas vraiment de lenteur dans l'execution du PHP.

Cdt,

merzhyn
05/02/2016, 17h11
Merci beaucoup chmod,

Je vais donc tester ça. Incroyable que file_gets_contents ne fasse pas de "connection close" par lui-même... Solution (de bon sens !) :

Code PHP:
$context stream_context_create(array('http' => array('header'=>'Connection: close\r\n')));
file_get_contents("http://www.something.com/somepage.html",false,$context); 

Ludo.H
01/02/2016, 09h28
Bonjour @merzhyn,

Possible d'avoir votre nom de domaine ou votre NIC ?

Cdt,

chmod777
31/01/2016, 01h42
Citation Envoyé par merzhyn
J'ai viré le .ovhconfig, remis les directives dans les .htaccess pour du PHP 5.2 : ça marche à merveille !!! Tant pis pour le 5.6 pour le moment... et le 7.0 en mode development qui n'affichent que des pages blanches et aucune erreur...
Si le changement de version a bien été pris en compte, le fait qu'il n'y ait aucune erreur affichée vient peut-être de l'utilisation de l'opérateur @ sur une fonction.

Pour file_get_contents, voir p-e : http://stackoverflow.com/questions/3...using-full-url (fixé sur 5.6)

merzhyn
31/01/2016, 00h19
Ce n'est pas un CMS. Je vais attendre un retour d'OVH... Mes erreurs "[ovhconfig] syntax error in /homez.152/.../.ovhconfig:5", "(103)Software caused connection abort: Failed to flush CGI output to client" mentionnés plus haut, ainsi que des file_gets_contents qui passent de 0.6 ms à 150 ms ne sont pas vraiment de mon fait... j'attends leur retour, merci.

Gaston_Phone
30/01/2016, 23h17
As-tu réalisé toi-même ton site ou s'agit-il d'un CMS ?

Il y a un mois, j'ai migré un de mes sites de PHP 5.5 à PHP 7.0.

Le plus dificile a été de passer toutes mes requêtes en mode DBO, et de remplacer quelques fonctions obsolètes.

merzhyn
30/01/2016, 23h06
Malheureusement je connais vos conseils... merci

J'ai viré le .ovhconfig, remis les directives dans les .htaccess pour du PHP 5.2 : ça marche à merveille !!! Tant pis pour le 5.6 pour le moment... et le 7.0 en mode development qui n'affichent que des pages blanches et aucune erreur...

Je n'ai jamais modifié le .ovhconfig, je l'ai même supprimé, puis recréé avec le manager : mais tous mes logs error de ts mes multidomaines (vieux de 2007-2008) indiquent ceci :

[Sat Jan 30 08:25:19 2016] [warn] [client 10.0.55.15] [host www. ...] [ovhconfig] syntax error in /homez.152/.../.ovhconfig:5

et pour le PHP-FPM :

[Sun Jan 24 00:07:57 2016] [error] [client 40.77.167.45] [host www. ...] (103)Software caused connection abort: Failed to flush CGI output to client

janus57
30/01/2016, 18h15
Bonjour,

par le .ovhconfig c'est tout à fait possible, si vous passer par le .htaccess pour gérer PHP perso cela ne m'étonne pas trop vos erreurs sachant que mélanger .htaccess et ovhconfig c'est pas bon il me semble.

Pour le .ovhconfig il peu y en avoir 1par multidomaine (voir le guide).

Pour les erreurs de script c'est masqué en environnement de prod, donc il faut soit les activer soit regarder dans les logs et là je peu pas aider plus.

Cordialement, janus57

merzhyn
30/01/2016, 17h24
Merci pour la réponse Janus57,

Avec FPM le site marche toutes les 15 minutes parfaitement bien pendant 3 minutes, puis de nouveau indisponible. Pour découvrir des erreurs de script ds ces conditions de site indisponible c pas simple... Je n'ai aucune ligne correspondant à des méthodes de cache ds mes htaccess non plus...

Même sans FPM, php 5.3 est lent, il overloade, et je n'ai aucune erreur de scripts non plus... bref ! Je m'en vais essayer php 7, mais je vais devoir repasser par les htaccess pour essayer sur un seul domaine de mon multidomaine... ...

...

janus57
30/01/2016, 14h58
Bonjour,

pourquoi ne pas essayer PHP7 si votre site est compatible ?

De plus si en PHP-FPM vous avez des erreurs 500 vous avez surement quelque chose dans votre .htaccess ou votre config qui passe pas.

PHP-FPM intègre opcache chez OVH donc les perfs devrais être bien meilleurs à cause du cache (et en petite partie à cause de PHP).

Cordialement, janus57

merzhyn
30/01/2016, 12h08
Merci à tous pr vos réponses,

Je ne peux pas utiliser PHP 5.4 à cause du bug référencé de Header() en "image/jpeg". Je ne peux pas non plus 5.5 / 5.6 à cause du bug dba_replace.

J'étais resté très optimisé sous PHP 4.4 (ou 5.2) pour des raisons de rapidité, aujourd'hui avec 5.3 c'est catastrophique. De concert, à la minute où j'ai activé PHP-FPM, mes sites ont totalement été indisponibles, avec des erreurs 500 et 429... Deux jours plus tard, à la minute où je l'ai désactivé ts mes sites sont redevenus frais dispo !

MAIS 5.3 reste catastrophique en terme de rapidité : voici une comparaison après une semaine pour vous montrer tout ça sur mes hébergements (mutualisés) principaux :

PHP 4.4 vs 5.5 :

CPU Usage en s/min :

.fr = 16 vs 400
.com = 25 vs 200

CPU Usage tps de réponses en ms :

.fr = 260 vs 500
.com = 200 vs 300

Overload par min :

.fr = 0 vs 1 à 5
.com = 0 vs 1 à 5

file_gets_contents sur fichier test de 10 000 octets, moyenne de milliers d'essais tout au long des journées en ms :
.fr et .com = 0.6 vs 70 à 150

Tout ceci se traduit en "réel" par des sites bcp plus lents et indisponibles par à-coup bcp plus souvent...
Sur PC, avec EasyPHP Server et Xampp, les performances en php 5 sont logiquement bien meilleurs... mais sur mes mutualisés OVH : c'est pire !

Merci pour vos réponses.