Sur ma machine de développement, mon application a utilisé environ 4 à 6 Mo de mémoire par requête. Après avoir basculé vers une machine de production, ces chiffres sont passés à 21 + Mo par demande, sans amélioration de la vitesse (de 0,30 à 1,2 seconde, ce que j'espérais vraiment améliorer sur ma machine de production). Certaines parties de l'application (comme l'amorçage de la base de données) ont utilisé jusqu'à 271 Ko sur une machine de développement et 2,5 Mo sur celle de production. Je me demande donc quelle pourrait en être la raison. Mon application utilise Zend Framework 1.10.8 (MVC) et Doctrine 2.0beta4 ORM et PDO_MySQL comme un adaptateur de base de données.Dégradation des performances sur une machine de production
Ma machine de développement: Windows 7 32 bits, 1,8 GHz Dual Core, 2 Go de RAM, PHP 5.3.2, Apache 2.2.15, 5.0.7 Mysqlnd-dev (CE Zend Server)
Ma machine de production: CentOS 5.5 64 bits, 2,66 GHz Quad Core, 8 Go de RAM, PHP 5.3.3, Apache 2.2.16, MySQL 5.1.48
De plus, je n'ai pas vraiment trouvé de goulot d'étranglement, c'est comme s'il s'agissait d'une application . S'il vous plaît dites-moi si je devrais fournir des informations supplémentaires.
Mise à jour:
Zend Server, que je l'utilise sur ma machine dev, a Zend Optimizer + et APC activés, et mon sysadmin m'a recommandé que je devrais utiliser eAccelerator, alors j'ai suivi ses conseils. Cependant, sur phpinfo(), je vois ceci:
eAccelerator 0.9.6.1
Caching Enabled true
Optimizer Enabled true
Check mtime Enabled true
Memory Size 16,777,144 Bytes
Memory Available 16,772,976 Bytes
Memory Allocated 4,168 Bytes
Cached Scripts 0
Removed Scripts 0
Est-ce que cela signifie qu'il n'est pas configuré correctement?
pourrait vous tester sur linux 32 bits? – fazo
@fazo Je vais mettre en place une machine virtuelle quand j'ai un peu de temps, si personne d'autre n'a plus de suggestions. –
Je voudrais essayer de garder la machine de développement beaucoup plus proche de la machine de production pour pouvoir déboguer les problèmes avec la machine de débogage. Je suppose que votre problème est 'eAccelerator'. J'ai utilisé 'eAccelerator',' xcache' et 'APC' et bien que' APC' ne soit pas le plus rapide, c'est sûrement le plus stable. Et par stable je veux dire à la fois "ne segfault aléatoirement" et "utilisation linéaire des ressources à la charge de travail". Ajoutez le fait que seul le 'APC' est officiellement supporté par le code source' php' le choix est facile. Si vous pouvez répéter le problème avec 'APC', alors seulement passer plus de temps à enquêter sur le problème. –