Fork me on GitHub

数据库性能的影响因素

背景

公司针对mysql和mongo开发了相应的数据库管理平台(其实就是包了个壳),需对底层数据库做性能测试,获取相应的性能参数,在此记录测试过程中学到的一些东西

影响数据库性能表现的因素

简单概括,通常会有如下相关项:
硬件、操作系统、数据库配置、应用模型

1、硬件
    1)变化的硬件:
        通常指裸机配置等,如CPU、内存大小都对性能有重要影响。
        再如裸设备、固态硬盘等,对性能也影响很大。
    2)变化的网络环境:
        10M、100M、千兆以太网甚至光纤等,会对应用系统的整体性能产生较大影响。

2、操作系统
    典型的如Linux系列、Win系列,通常会有不同的性能表现。
    操作系统的一些设置,也可能对数据库性能造成影响。比如块读写的设置等。

3、数据库
    数据库,至少包含2部分内容,一是数据库引擎,一是接口(如JDBC、ODBC等)。
    1)接口如果实现的不好,某些时候,也容易成为瓶颈。
    2)数据库引擎,可调优之处很多,需要根据实际情况,综合判断。如分区、索引、日志、数据文件、数据库可调参数等

4、应用模型
    基于数据库的应用,原型是什么样的,需要深入了解,掌握,才能因地制宜地结合数据库一起调优。
    目前国内对于数据库的应用现状,基本的问题是:应用不当,SQL写法有误。
    应用模型对于数据库的影响可能有:
        1)读多写少、读写并重、读少写多;
        2)并发情况
        3)数据量
        4)中间件

总之,应用逻辑和应用模型对数据库的使用方式,更多地影响着系统的瓶颈(通常情况,硬件一旦固定,更换的机会少。比如,数据库性能测试的TPCX系列,很多硬件厂家给出的测试最佳值,都是在固定硬件的环境下进行的)。

附:
什么是数据库应用模型?
参考本博客:《数据库应用模型的简单理解》

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%