数据库性能影响(二)

一、服务器硬件

    cpu速度,内存大小、磁盘IO速度。

    CPU、可用内存大小

        计算密集型应用,cpu就越可能影响整个系统的性能,成为系统的瓶颈。

    热数据

        热数据大小>可用内存大小,IO系统成为瓶颈

      网络

        大量数据被查询时,使用MemCache等缓存层的时候,当缓存大量失效的时候,就会产生大量的网络传输。

    如何选择cpu

        cpu密集型:更好的CPU(MYsql不支持多CPU对同意SQL并发处理,所以多个CPU不能提高SQL的处理速度)

        处理并发情况:多个cpu越好,若一个CPU处理一个SQL,多个CPU就可以同时处理多个sql。

        QPS:衡量数据库处理能力的指标QPS,同时每秒处理sql的数量。

    如何选择内存(频率越高内存的读取速度越快)

        内存大小直接影响cpu的性能,内存的IO效率远远高于磁盘。


数据库性能影响(二)_第1张图片
缓存在内存和操作系统


数据库性能影响(二)_第2张图片
缓存在内存

缓存写的作用,多次写操作变为一次写操作,如商品的浏览次数,每次浏览可先增加缓存中的浏览次数,左后一次写入。

 IO子系统

    磁盘的配置和选择

    1、使用传统机器硬盘

    2、使用RAID增强传统机器硬盘的性能

    3、使用固态存储SSD和PCIe卡

    4、使用网络存储NAS和SAN

二、服务器系统(操作系统以centOS为主)

    CentOS系统参数优化(以后具体了解)

    1、内核相关参数(ect/sysctl.conf)以后了解

    2、linux系统内存交换区

    3、增加资源限制(/etc/security/limit.conf)

    4、磁盘调度策略(/sys/block/devname/queue/scheduler)

    5、文件系统

数据库性能影响(二)_第3张图片
文件系统(XFS相对较好)


三、数据库存储引擎的选择

        插件式存储引擎


数据库性能影响(二)_第4张图片
数据的获得是由存储引擎层实现的

        常见的存储引擎:innodb、myisam、XtraDb、CSV、Menory、MRG_MYISAM、archive、federated、tokudb

        存储引擎是针对于表的,不是针对于数据库的。一个库不同的表可以使用不同的存储引擎。

四、数据库服务器的配置参数

影响比重

服务器硬件+服务器系统+数据库存储引擎的选择<数据库服务器的配置参数

五、数据库表结构设计和SQL语句

你可能感兴趣的:(数据库性能影响(二))