производительность клиента php memcache - PullRequest
0 голосов
/ 11 ноября 2010

Я тестирую приложение, которое я сделал, которое использует 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 так сильно отстает в тесте.

1 Ответ

0 голосов
/ 12 ноября 2010

Ну, похоже, виновником был весовой параметр addServer

Изменение его на 1 для 1-го сервера и 2 для второго сделало это, и производительность теперь та же

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...