您的位置:首页 > 数据库 > Mongodb

MongoDB---性能优化---(1)

2015-08-19 10:28 405 查看
MONGODB数据架构

升级解决.计划

发现问题

应用server用户数的突然涌入,创建server反应慢

检查server,我发现,每次反应非常慢,至30ops

检查过程

.发现数据库查询缓慢

.检查索引

.检查内存占.用量

.检查TCP连接

对照測试1

.硬件配置:

.client:

.阿.里云,2cpu,2g内存。windows2008

.服务端:

.阿.里云,router:4cpu,4g内存。centos6.5 64位

.阿.里云。mongod:2cpu,8g内存,centos6.5 64位

.1.对router进.行測试。每秒200qps。

.2.对mongod进.行測试,每秒500qps。

.小结:使.用sharding架构,查询会.比直接对单台mongo查询慢。

对照測试2

.硬件配置:

.client:

.阿.里云,2cpu,2.5g内存,windows2008

.阿.里云,2cpu。2.0g内存,windows2008

.服务端:

.阿.里云。mongod:2cpu。2.5g内存,windows2008

.1.在本地2cpu,2.5g内存。windows2008进.行測试。查询速度达到3000qps,甚至有时候能突破5000qps。

.2.在2cpu,2.0g内存,windows2008对mongod进.行測试,查询速度500qps。

.小结:tcp对..网络有非常.大的影响。

对照測试3

.硬件配置:

.client:

.物理机,2cpu,4.0g内存,windows2008

.服务端:

.物理机,mongod:2cpu,4.0g内存,centos6.5 64位

.物理机,router:2cpu。4.0g内存。centos6.5 64位

.1.对mongod进.行測试。查询速度1000qps。

.2.对router进.行測试。查询速度500qps。

.小结:阿.里云存在.一定的限制。使得速度有上限。

对照測试4

.硬件配置:

.client:

. ucloud,2cpu。4.0g内存,windows2008

.服务端:

. ucloud,mongod:2cpu,4.0g内存。centos6.5 64位

. ucloud,router:2cpu。4.0g内存,centos6.5 64位

.1.对mongod进.行測试,查询速度2000qps。

.2.对router进.行測试,查询速度1000qps。

.小结:ucloud.比阿.里云的机器性能好。

对照測试5

.硬件配置:

.client:

. ucloud,16cpu,64.0g内存,windows2008

.服务端:

. ucloud,mongod:16cpu,64.0g内存,centos6.5 64位

. ucloud。router:16cpu,64.0g内存,centos6.5 64位

.1.对mongod进.行測试,查询速度13000qps。

.2.对router进.行測试,查询速度10000qps。

.小结:至此最终找到问题根结,clientcpu核数决定mongodb查询速度。

结论

1.阿.里云的云主机有做某些限制,导致.不管怎样设定系统。数据库的配置,都.无法突破.一个数量级的qps。

2.clientcpu核数决定mongodb查询速度。

3.tcp的限制通过.走内..网能够避免。

4.linux操作系统胜过windows。

因此mongodb架构在linux上.比架构在windows上更好。

最新架构



最新架构



极限性能測试

.以上.面最新架构进.行測试:

.打开4个iisclient,同一时候对router进.行查询。

router能够达到每秒20000次查询。

换成业务对照。即每秒能够应付2000个人。

性能结论

.为了保证线上业务的正常运.行,数据库所在的server须要8cpu,16g内存。

.为了保证备份的完整性。因此正确slave数据库备份,正确router备用。备份保留30天。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: