数据库性能影响(二)
一、服务器硬件
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语句
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 数据库设计与优化
- 了解自然大气粒子对气候的影响
- 数据库总结语句
- MySql数据库备份与恢复
- 心理工作要不断的评估现实事件对来访者心理造成的影响是什么
- 怎么压缩图片大小不影响质量
- 小坚持影响亲哥哥
- 数据库|SQL行转列方式优化查询性能实践
- 性能测试中QPS和TPS的区别