Des bienfaits d'APC
APC est un système de cache pour PHP. Disposant d'un serveur vide, j'ai décidé de tester de façon totalement empirique les bienfaits apportés.
Sans APC
Sur un serveur vierge Debian 5, j'ai installé virtualmin et phpmyadmin. Je lance un test grâce à ab (apache benchmark) depuis un autre serveur (10000 requêtes avec 10 visites concurrentes sur l'écran de login de phpmyadmin) :
Document Path: /phpmyadmin/ Document Length: 8098 bytes Concurrency Level: 10 Time taken for tests: 60.881 seconds Complete requests: 10000 Requests per second: 164.26 [#/sec] (mean) Time per request: 60.881 [ms] (mean)
J'ai lancé le test 2 fois de suite sans avoir de changement notable (ce qui élimine un quelconque cache pouvant se trouver sur la route). Les chiffres importants sont 164 requêtes par seconde, 60ms par requête.
Avec APC
On continue un peu et on installe APC, sans autre forme de configuration (apache install php-apc) et on refait le même test :
Document Path: /phpmyadmin/ Document Length: 8098 bytes Concurrency Level: 10 Time taken for tests: 13.232 seconds Complete requests: 10000 Requests per second: 755.77 [#/sec] (mean) Time per request: 13.232 [ms] (mean)
Le changement est flagrant. On traite maintenant 755 requêtes par seconde avec un temps de traitement de 13ms par requête.
Alors si votre serveur fait quelques requêtes par secondes, l'installation d'APC n'est pas indispensable, en revanche, sur des serveurs un peu sous pression, ça pourrait vous changer la vie.
Et sur un serveur d'entrée de gamme, disons un SP Mini ?
Document Path: /phpmyadmin/ Document Length: 8098 bytes Concurrency Level: 10 Time taken for tests: 292.216 seconds Complete requests: 10000 Requests per second: 34.22 [#/sec] (mean) Time per request: 292.216 [ms] (mean) |