Lenteur foreach

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lenteur foreach

Re: Lenteur foreach

par benv8nam » 03 janv. 2014, 19:05

Regarde les configurations Apache et PHP.

Lenteur foreach

par toulou » 03 janv. 2014, 15:28

Bonjour,
Je suis en train de migrer mes sites vers de nouveaux serveurs plus performants.
Sur les nouveaux serveurs j'ai des problèmes de rapidité assez forte (certaines pages mettent deux fois plus de temps à charger).
Après investigation, ce n'est pas un problème de BD (les requêtes se font plus rapidement) mais un problème de php et notamment de temps d’exécution du foreach.
Avec un test simple:
<?php 
$timestarthtml=microtime(true);
echo "time start=".$timestarthtml;
$cpt=100000;
foreach(range(0,$cpt) as $i) $test=$i;
$timeendhtml=microtime(true);
echo "time end =".$timeendhtml;
$timehtml=$timeendhtml-$timestarthtml;
echo "time exec=".$timehtml;
?>
Je fais tourner ce script sur les différents serveurs.
Sur les nouveaux serveurs le temps d’exécution est de 50 % à 100 % plus long ...
Pourtant, les CPUs sont plus rapides, 2* plus de mémoire ...
Je suis un peu perdu car je ne comprends pas ce problème.
La différence majeur de config entre les deux serveurs est la version php. Sur les anciens serveurs j'ai la version 5.2.17 et sur les nouveaux la version 5.4.4.

Avez vous déjà eu ce type de problème ? Avez vous une idée d'où cela peut venir ?
Merci!