Je compare une application que j'ai créée et qui utilise repcached (memcached avec réplication) pour stocker des objets et prendre un peu de charge sur la base de données.performances du client memcache php
Bien que l'analyse comparative de la page d'index je lance
ab -c 400 -n 5000 http://mysite
Quand je viens d'utiliser un serveur memcache avec
list($server, $port) = explode(':', $settings->memcached_servers[0]);
$this->link = new Memcache();
$this->link->connect($server, (int) $port);
Je reçois 1000 req/sec
Lorsque je dépasse plusieurs serveurs dans le pool avec
$this->link = new Memcache();
foreach($settings->memcached_servers as $server){
list($server, $port) = explode(':', $server);
$this->link->addServer($server, (int) $port, 0, 10);
}
-je obtenir seulement 300 req/sec
La différence est énorme
Toute idée pourquoi?
je vraiment besoin d'avoir 2 serveurs pour la redondance, mais la performance est d'avoir également crucial
Il normal une énorme différence? Fondamentalement, la page d'index fait des appels justs 2 à la db obtenir une seule ligne, de sorte que les lignes sont mises en cache lors de l'exécution du test. Mais je suis surpris de voir que memcached a tellement chuté dans le test.
Votre question a été coupée . Pourriez-vous l'examiner? –
Le passage d'une connexion persistante (votre code pour un serveur unique) à des connexions non persistantes (votre code avec plusieurs serveurs) fait-il une différence? –