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


    版权声明:本文为博主原创文章,未经博主同意不得转载。

    https://blog.csdn.net/u012365828/article/details/27536013

    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天。

  • 相关阅读:
    better-scroll 外层可以用positon:fixed 内层只能用position:absolute,不能用positon:fixed
    react中let一些数据是在render里,不是在retrun里
    onClick和ontouchmove一个是pc端一个是移动端,但是还是不知道有什么具体差别
    react中reder->return里: 1.有引号输入内容为'123' 2.没有引号输入内容为<p>123</p>
    if( 1<a<5 )这种写法是错误的,计算机不认识。正确写法是( a>1 && a<5),要不然会有运算法呢
    e.target
    transform: translateY(-50%) 实现元素垂直居中效果
    Uncaught TypeError: Cannot read property 'trim' of undefined
    push()方法返回的是数组新的长度
    transparent是透明的意思,实际上background默认的颜色就是透明的属性
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10482418.html
  • Copyright © 2020-2023  润新知