mongodb压力测试for java_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > mongodb压力测试for java

mongodb压力测试for java

 2011/12/23 9:32:15  flysnowxf  http://flysnowxf.iteye.com  我要评论(0)
  • 摘要:这是基于实际业务的压力测试,测试机和服务器的配置都很低。测试机。本人机器,500进程cpu基本100%。服务器:8G内存双核Intel(R)Pentium(R)DualCPUE2200@2.20GHz测试时cpu保持在90%左右。测试请求流向:测试机jmeter->服务器tomcat->服务器mongodbmongodb数据大小:150w条数据"resident":1439"virtual":3180"mapped":1136也就是使用了1.4g的内存mongodb的测试命令:
  • 标签:for 测试 Java MongoDB

这是基于实际业务的压力测试,测试机和服务器的配置都很低。

测试机。本人机器,500进程cpu基本100%。
服务器:
8G内存
双核Intel(R) Pentium(R) Dual? CPU? E2200? @ 2.20GHz
测试时cpu保持在90%左右。

测试请求流向:
测试机jmeter->服务器tomcat->服务器mongodb

mongodb数据大小:
150w条数据
"resident": 1439
"virtual": 3180
"mapped": 1136
也就是使用了1.4g的内存

mongodb的测试命令:

{ "$and" : [ { "$or" : [ { "basic.email" : { "$ne" :  null } , "basic.validEmail" : 1}]}]}

这条命令是无法使用索引的。

java客户端使用spring-data-mongodb1.0.0.M5,连接池设置最大200连接:

connections-per-host="200"
threads-allowed-to-block-for-connection-multiplier="100"
?

测试结果:

线程

200

循环次数

20

总次数

4000

?

每秒请求数

平均响应时间(毫秒)

skip(0).limit(25)

436

374

skip(100).limit(25)

212

840

?

线程数

500

循环次数

20

总次数

10000

?

每秒请求数

平均响应时间(毫秒)

skip(0).limit(25)

427

1010

skip(100).limit(25)

202

2190


总结: 1.以线程数500为例,平均TPS为427,以这个为高峰请求数,一般请求为427/10=42,也就是每秒42个请求,一天362w的pv。 也就是说,一台性能不怎么样的机器,在不使用索引的恶劣查询中,基本应付400w左右的pv。为了避免单点,2台机器可以应付每天1000w pv的应用。 2.使用skip略过大量文档时,性能会急剧下降。这里测试下降了整整一半。
单纯对mongodb的测试,可参考: Mongodb亿级数据量的性能测试http://www.cnblogs.com/lovecindywang/archive/2011/03/02/1969324.html
发表评论
用户名: 匿名