MySQL-硬件优化

MySQL需要的四种基本资源:CPU,内存,硬盘和网络资源

数据库并发问题:
逻辑并发问题:应用程序可以看到资源的竞争,如表或行锁竞争用。这些问题通常需要好的策略来解决,如改变映月宫程序、使用不用功的存储引擎、改变服务器配置,或者使用不同的锁定提示或事务隔离级别。
内部并发问题:比如信号、访问InnoDB缓冲池页面的资源争用。可以尝试通过改变服务器的设置、改变操作系统,或使用不同的硬件解决这些问题,但通常只能缓解而无法彻底消灭。在某些情况下,可以使用不同的存储引擎或给存储引擎打补丁,可以帮助环节这些问题。

磁盘读取过程:
移动读取磁头到磁盘表面上的正确位置。
等待磁盘旋转,所有所需的数据在读取磁头下。
等待磁盘旋转过去,所有所需的数据都被读取磁头读出。

磁盘影响因素:
存储容量,传输速度,访问时间,主轴转速,物理尺寸

闪存性能特点:
相比硬盘有更好的随机读写性能。闪存设备通常读明显比写快。
相比硬盘有更好的顺序读写性能。但是相比而言不如随机I/O的改善那么大,因为硬盘随机I/O比顺序I/O要慢得多。入门级固态硬盘的顺序读取实际上还可能比传统硬盘慢。
相比硬盘更好地支持并发。

RAID可以实现冗余,扩展存储容量,缓存以及加速

RAID级别如下:
RAID0:如果只是简单评估成本和性能,RAID0是成本最低和性能最高的RAID配置,但是,如果考虑数据恢复的因素,RAID0的代价非常高。因为RAID0没有冗余,建议只在不担心数据丢失的时候用。RAID0没有提供任何冗余,即使在RAID中表示冗余。实际上,RAID0阵列的损坏率比单块磁盘损坏率要高。
RAID1:在很多情况下提供很好的读性能,并且在不同的磁盘间冗余数据,所以很好的冗余性。RRAID1在读上比RAID0快一些。他非常适合用来存放日志或者类似的工作。因为顺序写很少需要底层有很多磁盘。者通常也是只有两块磁盘又需要冗余的低端服务器的选择。
RAID5:通过分布奇偶校验块把数据分散到多个磁盘,这样,如果任何一个盘的数据失效,都可以从奇偶校验中重建。如果两个磁盘失效,则整个卷的数据无法恢复。就没个存储单元的成本而言,这是最经济的冗余配置,因为整个阵列只消耗了一块磁盘的存储空间。
RAID10:由分片的镜像组成,所以对读和写都有良好的扩展性。控制器通过一种串联镜像的实现。经常被访问的数据可能被放在一对机械硬盘上,而不是分布很多份,可能遇到性能不佳的情况。
RAID50:由条带化的RAID组成。如果有很多盘的化,这是RAID5和RAID10的一个折中

文件存放

MySQL创建多种类型文件:
数据和索引文件,事务日志文件,二进制日志文件,常规日志,临时文件和临时表

网络配置

运行不正常的网络的原因:丢包,域名解析系统(DNS)损坏或变慢。

在生产服务器上启用skip_name_resolve是个好主意。启动skip_name_resolve选项,MySQL将不会做任何DNS查找的工作。意味着用户账户必须在host列使用具有唯一性的IP地址,“localhost"或者IP地址通配符。那些在host列使用主机名的用户账户将不能登录。
TCP积压:通过MySQL的back_log选项来配置。通过控制MySQL的传入tcp连接队列的大小。

你可能感兴趣的:(数据库MySQL)