php memcache客户端性能

时间:2010-11-11 19:27:27

标签: php memcached

我正在对我制作的应用程序进行基准测试,该应用程序使用repcached(memcached with replication)来存储对象并减轻数据库的负担。

在对我运行的索引页面进行基准测试时

ab -c 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 reqs / sec

当我使用

将多个服务器输出到池中时
$this->link = new Memcache();
foreach($settings->memcached_servers as $server){
  list($server, $port) = explode(':', $server);
  $this->link->addServer($server, (int) $port, 0, 10);
}

我只获得300 reqs / sec

差异巨大

知道为什么吗?

我真的需要2台服务器用于冗余,但性能也很重要

拥有如此巨大的差异是正常的吗?

基本上,索引页面只对数据库进行2次调用,只获得一行,因此在运行测试时会缓存行。

但我很惊讶地发现memcached在测试中落后了很多。

1 个答案:

答案 0 :(得分:0)

好像罪魁祸首是addServer的重量参数

第一台服务器将其更改为1,第二台服务器更改为2,并且性能现在相同