根据业务的需求,对线上的服务器的压力测试,了解运行过程中的一个峰值。主要通过mongo-mload 工具使用对MONGODB的压力测试。
http://down.51cto.com/data/2287216###工具包下载
测试过程:
1、清理数据库:
go run mload.go –host 127.0.0.1 –clean true
2、插入数据
go run mload.go –host 127.0.0.1 –datanum 10000 –procnum 8 –cpunum 8 –jsonfile ./test_data.json –operation insert
首先清理数据库:
go run mload.go –host 127.0.0.1 –clean true
再来为查询准备数据(比如准备1000000条):
go run mload.go –host 127.0.0.1 –datanum 1000000 –procnum 1 –operation prepare
接下来进行测试(limit one的):
使用8核cpu,8个并发
go run mload.go –host 127.0.0.1 –datanum 1000000 –procnum 8 –cpunum 8 –operation query
在进行非limit one的:
使用8核cpu,8个并发
go run mload.go –host 127.0.0.1 –datanum 1000000 –procnum 8 –cpunum 8 –operation query –queryall true
首先清理数据库:
go run mload.go –host 127.0.0.1 –clean true
再来为查询准备数据(比如准备1000000条):
go run mload.go –host 127.0.0.1 –datanum 1000000 –procnum 1 –logpath /tmp/log.log –operation prepare
再来进行测试
go run mload.go –host 127.0.0.1 –datanum 1000000 –procnum 1 –logpath /tmp/log.log –operation tps
更新测试
首先清理数据库:
go run mload.go –host 127.0.0.1 –clean true
再来为查询准备数据(比如准备1000000条):
go run mload.go –host 127.0.0.1 –datanum 10 –procnum 1 –operation prepare
再来进行update压测
go run mload.go –host 127.0.0.1 –datanum 1 –procnum 10 –operation update
Geo查询测试
首先清理数据库:
go run mload.go –host 127.0.0.1 –clean true
再来为查询准备数据(比如准备1000000条):
go run mload.go –host 127.0.0.1 –datanum 100000 –procnum 2 –operation prepare
go run mload.go –host 127.0.0.1 –datanum 100000 –procnum 2 –operation prepare –db test –collection testccc –geofield gps –geo
接下来进行测试(limit one的):
使用8核cpu,8个并发
go run mload.go –host 127.0.0.1 –datanum 100000 –procnum 8 –cpunum 4 –operation query –geofield loc –geo true
go run mload.go –host 127.0.0.1 –datanum 100000 –procnum 8 –cpunum 4 –operation query –db metok_core –collection cell_position –geofield loc –geo
在进行非limit one的:
使用8核cpu,8个并发
go run mload.go –host 127.0.0.1 –datanum 100000 –procnum 8 –cpunum 4 –operation query –queryall true –geofield loc –geo true
go run mload.go –host 127.0.0.1 –datanum 100000 –procnum 8 –cpunum 4 –operation query –queryall true –db metok_core –collection cell_position –geofield loc –geo