数据库性能影响(二)

一、服务器硬件
cpu速度,内存大小、磁盘IO速度。
CPU、可用内存大小
计算密集型应用,cpu就越可能影响整个系统的性能,成为系统的瓶颈。
热数据
热数据大小>可用内存大小,IO系统成为瓶颈
网络
大量数据被查询时,使用MemCache等缓存层的时候,当缓存大量失效的时候,就会产生大量的网络传输。
如何选择cpu cpu密集型:更好的CPU(MYsql不支持多CPU对同意SQL并发处理,所以多个CPU不能提高SQL的处理速度)
处理并发情况:多个cpu越好,若一个CPU处理一个SQL,多个CPU就可以同时处理多个sql。
QPS:衡量数据库处理能力的指标QPS,同时每秒处理sql的数量。
如何选择内存(频率越高内存的读取速度越快) 内存大小直接影响cpu的性能,内存的IO效率远远高于磁盘。


数据库性能影响(二)
文章图片
缓存在内存和操作系统

数据库性能影响(二)
文章图片
缓存在内存 缓存写的作用,多次写操作变为一次写操作,如商品的浏览次数,每次浏览可先增加缓存中的浏览次数,左后一次写入。
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、文件系统
数据库性能影响(二)
文章图片
文件系统(XFS相对较好)

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


数据库性能影响(二)
文章图片
数据的获得是由存储引擎层实现的 常见的存储引擎:innodb、myisam、XtraDb、CSV、Menory、MRG_MYISAM、archive、federated、tokudb
存储引擎是针对于表的,不是针对于数据库的。一个库不同的表可以使用不同的存储引擎。
四、数据库服务器的配置参数
影响比重
服务器硬件+服务器系统+数据库存储引擎的选择<数据库服务器的配置参数
【数据库性能影响(二)】五、数据库表结构设计和SQL语句

    推荐阅读