MySQL数据库的性能的影响
一. 服务器的硬件的限制
二. 服务器所使用的操作系统
三. 服务器的所配置的参数设置不同
四. 数据库存储引擎的选择
五. 数据库的参数配置的不同
六. (重点)数据库的结构的设计和SQL语句
文章相关视频讲解:
c/c++Linux后台服务器开发高级架构师视频资料
1). 服务器的配置和设置(cpu和可用的内存的大小)
1.网络和I/O资源
2.cpu的主频和核心的数量的选择
(对于密集型的应用应该优先考虑主频高的cpu)
(对于并发量大的应用优先考虑的多核的cpu)
3.磁盘的配置和选择
(使用传统的机械硬盘:
特点:读写较慢、存储空间大、最常见、使用最多、价格低;
工作过程:移动磁头到磁盘表面上的正确位置;
等待磁盘的旋转,使得所得所需的数据在磁头之下;
等待磁盘旋转过去,所有所需的数据都被磁头读出
选择因素:存储容量、传输速度、访问时间、主轴转速、物理尺寸)
(使用RAID增强传统的机器硬盘的性能:
特点:利用小的磁盘组成大的磁盘并提供数据的冗余保证数据的完整性的技术
数据库中所使用的RAID的级别:
RAID0级别、RAID1级别、RAID5级别[分布式奇偶校验磁盘阵列]、RAID10[分片的镜像(数据库最好的方式)]
RAID级别选择:如下图)
(使用固态存储的SSD和PCI-E卡:
特点:相对于机械盘固态磁盘有更好的随机读写性能;
相对于机械固态磁盘能更好的支持并发;
相对于机械固态磁盘更容易损坏
SSD:使用SATA接口可以替换传统的磁盘而不需要任何的改变[受到接口的速度的限制];
SATA接口的SSD同样支持RAID技术
PCI-E卡(Fusion-IO卡):无法使用在SATA接口[需要使用独特的驱动和配置];
价格贵,使用了cpu的资源和内存
使用的场景:适用于存在大量的随机I/O的场景;
适用于解决单线程负载的I/O瓶颈)
(使用网络存储NAS和SAN:
SAN[光纤接入服务器]: