2010-07-23 18 views
2

Existe-t-il un test simple que je peux essayer de comparer APC et Memcache, juste pour avoir une idée des avantages de performance de leur utilisation? J'ai essayé quelques trucs simples en utilisant microtime() et en bouclant des demandes à ma base de données et en stockant les résultats, d'abord dans le cache, puis sans, mais je n'ai pas remarqué de coup de pouce significatif de la performance.PHP APC et Memcache Benchmarking

Merci.

Répondre

4

Le véritable avantage n'est pas facile à tester. Le problème est qu'ils aident avec la concurrence, pas seulement le temps d'exécution de la page ... Et c'est une chose non triviale à tester.

Une option serait d'utiliser ab (Apache Bench) pour émettre des demandes répétées HTTP à la même page, et de mesurer la différence de taux de demande et la charge ...

ab -c 20 -n 1000 http://www.example.com/index.php 

Le -c 20 dit utiliser 20 clients simultanés (simulant 20 utilisateurs simultanés). Le -n 1000 dit pour faire un total de 1000 demandes. Ensuite, regardez les champs Time Per Request et Requests Per Second. Jouez avec différents paramètres APC/Memcache (même en les désactivant) pour regarder comment ces chiffres changent ...

+0

Merci beaucoup. Lorsque je désactive APC et Memcache et que j'exécute la commande, j'obtiens ce qui suit: apr_socket_recv: Une connexion existante a été fermée de force. Mais quand APC et Memcache sont actifs, je ne reçois pas l'erreur. Savez-vous ce qui pourrait causer cela? J'utilise Windows et XAMPP (PHP 5.3.1) –

+0

Vérifiez vos journaux d'erreurs PHP et Apache. Les chances sont que quelque chose soit segfaulted, ou php est mort pour d'autres raisons ... – ircmaxell