Vous devez effectuer un profilage de base de votre code et des algorithmes qu'il utilise. Memcache est comme ajouter du sel à une recette: vous devez l'ajouter à la bonne partie ou vous ne bénéficiez pas de l'avantage et vous gênez à la place.
En PHP, il existe plusieurs types de mise en cache qui peuvent améliorer les performances de vos pages Web, et memcache n'en est qu'une. Si vous avez beaucoup de requêtes identiques, vous pouvez activer le cache de requête dans votre base de données. Si vous avez de nombreuses pages qui se connectent avec peu de trafic de requêtes, vous bénéficieriez de la mise en pool des connexions (ce qui met en cache la connexion TCP) et de la mise en cache des threads dans la base de données. Si vous jetez beaucoup de données, en particulier des chaînes et de grands tableaux ou objets, vous pouvez commencer à penser à des références et mettre à jour votre manipulation de chaîne qui n'implique pas de recopie inutile (par exemple, la concaténation de chaînes en boucle est onéreuse - ajoutez-les à un tableau et implosez-le une fois à la fin). Cela peut être une grande performance et l'amélioration de la mémoire.
Si vous avez beaucoup de requêtes qui récupèrent les mêmes informations encore et encore dans une page, vous devez améliorer votre couche de stockage de données. Cela vous permettra de faire une requête pour obtenir une ligne, puis de réutiliser les données sur toute la page au lieu de les récupérer à nouveau. (Ceci est généralement la meilleure raison de passer d'un hotch-potch de SQL arbitraire à une couche de persistance d'objet.) Notez que cela peut impliquer un re-architecte considérable de l'application. Vous pouvez ajouter la mise en cache des données d'objet à votre couche d'objet - ceci bénéficiera tout qui utilise ce genre d'objet, ce qui peut être une grande victoire. C'est un bon point pour memcache, et le code de l'application n'a même pas besoin de le savoir. Faites juste attention aux durées de vie des données et si ou comment elles sont mises à jour tôt.
Si vous avez beaucoup de pages qui font la même requête un peu coûteuse (même par proxy via une couche d'accès aux données), vous pouvez mettre en cache cela pendant quelques secondes.Il ne doit pas être à memcache, mais c'est un bon choix. Enfin, si vous avez beaucoup de fichiers qui ne changent jamais, vous pouvez utiliser un serveur séparé qui ne gère que des fichiers statiques. Cela donne à votre environnement d'exécution plus de place pour exécuter du code et vous pouvez régler les serveurs de fichiers statiques pour qu'ils soient efficaces lors du retour rapide des fichiers. Cela peut être une grande victoire pour la perception de la performance du site.
IMO, mise en cache devrait améliorer plutôt que activer votre application.