memcache原生,php客户端,java客户端的性能对比

来源:互联网 发布:广东省 人工智能 政策 编辑:程序博客网 时间:2024/06/05 08:01

硬件环境:虚拟机:10.32.25.111 (16 Intel(R) Xeon(R) CPU     E5645  @ 2.40GHz   内存16G)

     物理机:10.32.25.45  (8  Intel(R)Xeon(R) CPU E5-2609 0 @ 2.40GHz   内存32G) java/php/nginx

     压力机:10.32.25.46 (8  Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz  内存32G) memcached/xmemcache

 

网格环境:千兆

 

软件环境:memcached -d -p 11211 -u memcached -m 4096 -c 20000 -P/var/run/memcached/memcached.pid

 

测试工具: 原生压力工具: memaslap -s 10.32.25.45:11211 -T 8  -c 400   -F /usr/local/bin/memslap.cnf -x 10000000

客户端压力工具:http_load –p  40  –s  60  java-all-url.txt

      网络监控工具:nload / iptraf / top

 

测试数据:key值范围 50-100b;value值范围1b-1k;

测试结果:

 

 

原生

php_memcached

java_xmemcache

操作

cpu(id%)

qps(次/秒)

响应时间(s)

cpu(id%)

qps(次/秒)

响应时间(s)

cpu(id%)

qps(次/秒)

响应时间(s)

84

78512

0.000018

7

9677

0.32

23

12112

0.61

76

54183

0.000012

11

9567

0.32

26

12191

0.6

混合1:9

73

149743

0.000006

6

9587

0.32

30

13133

0.63

 

测试结论:

 

1、  原生状态下的memcache可以支撑每秒钟14万的混合读写,压力增加后网卡成为瓶径,每秒钟传输达到120M/s,达到上限;

2、  通过Php的memcached客户端读写memcache,每秒钟处理请求在9500个左右,此时php+nginx服务器成为瓶径,cpu使用率超过80%,达到上限;

3、  通过java的xcmemcache客户端读写memcache,每秒钟处理请求在13000个左右,此时java服务器成为瓶径,cpu使用率超过80%,达到上限;

4、  客户端中除了上述两个,还有php的memcache和java的spymemcache也进行了尝试性测试,但稳定性较差,失败率很高,所以没有进行详细测试,如有需要再进行;

 

原创粉丝点击