Я тестирую приложение, которое я сделал, которое использует repcached (memcached с репликацией) для хранения объектов и снятия некоторой нагрузки с базы данных.
При тестировании страницы индекса я запускаю
abc 400 -n 5000 http://mysite
Когда я использую только один сервер memcache с
list($server, $port) = explode(':', $settings->memcached_servers[0]);
$this->link = new Memcache();
$this->link->connect($server, (int) $port);
, я получаю 1000 запросов в секунду
Когда я отключаю более одного серверав бассейн с
$this->link = new Memcache();
foreach($settings->memcached_servers as $server){
list($server, $port) = explode(':', $server);
$this->link->addServer($server, (int) $port, 0, 10);
}
Я получаю только 300 запросов / сек
Разница огромна
Есть идеи почему?
Мне действительно нужноиметь 2 сервера для резервирования, но производительность также имеет решающее значение
Это нормально иметь такую огромную разницу?
По сути, страница индекса делает всего 2 вызова для БД, получая только одну строку,поэтому при выполнении теста строки кэшируются.
Но я удивлен, что memcached так сильно отстает в тесте.