MySQL管理教程(一):MySQL性能调优 – 选择最佳硬件

电脑硬件变化非常快。 因此,不会提供特定的硬件建议。 但是,在购买服务器硬件时可以提高一些建议。

主板选择



第一个考虑是你应该总是购买64位硬件,因为mysqld可以利用64位操作系统支持每进程大量的内存。 在32位操作系统上,每个进程只能使用大约2.4 Gb的RAM,而mysqld当前是单线程的。 确保主板可以支持足够的RAM。 如果服务器要在高负载环境中使用,我们建议主板能够支持16 Gb RAM。
虽然你现在可能不需要它,但不要到时候需要更多的RAM了,而发现你的主板不支持更多的内存。
当涉及到RAM,所需的内存数量将根据您的应用程序大不相同。 如果整个数据库的大小为1 Gb,并且不会随时间增加,则服务器不需要8 Gb的RAM。 然而,许多应用程序具有比可用存储器的量大得多的数据库。 最重要的是数据库的工作集的大小。 数据库的工作集是每次处理的数据量。 如果数据库大小为100 Gb,但有一个工作集为10 Gb(只有10%需要在RAM中随时),那么给mysqld实例分配16 Gb内存就够用了。 工作集中的数据量随数据的使用方式而变化。

硬盘驱动器选择



您的I/O子系统通常是服务器中最难以准确预测的要求之一。 硬盘驱动器的当前选项包括传统的SCSI驱动器,SATA(串行ATA)驱动器,SAS(串行连接SCSI)驱动器和新的固态驱动器。 SATA驱动器的可靠性不如SAS驱动器。 除非服务器是非常低端的,它应该使用SAS驱动器。

RAID选择



在大型生产系统中,通常会有一个硬件RAID控制器或RAID通过操作系统级软件配置。 RAID代表独立磁盘冗余阵列。 顾名思义,RAID是将具有某些数据镜像的单元的磁盘组合在一起。 有各种级别的RAID。 下面列出了用于数据库服务器的最常用级别。
RAID 0:只有一个数据副本,但数据分散在多个磁盘上(条带化)。 如果一个磁盘发生故障,则所有数据从所有磁盘丢失。
RAID 1:两个大小相等的磁盘组合形成一个冗余阵列。 每个磁盘是另一个的副本(镜像)。 如果一个磁盘发生故障,则所有数据都完好无损。
RAID 5:以防止数据丢失任何一个磁盘的方式组合三个或更多磁盘; 阵列的存储容量减少一个磁盘。
RAID 10:RAID 1(镜像)和RAID 0(条带化)的组合。 阵列的存储容量是硬盘驱动器总容量的50%,但每个驱动器都是镜像的。
在寻找RAID控制器时,应选择支持所需RAID级别的控制器。 此外,大多数硬件RAID控制器具有RAM高速缓存。 这用作从数组读取和写入数组的缓冲区。 当选择控制器的规格时,找电池支持的写缓存。 这意味着控制器上的高速缓存使用电池,使得如果电力丢失,则高速缓存的内容保持一段时间。 这使您可以安全地使用写回功能,这意味着,当RAID控制器从服务器接收到写入请求时,它可以立即向操作系统返回写入完成的信号。 这可以提供良好的性能提升,因为操作系统不必等待硬盘驱动器实际将数据写入盘片并且发信号通知完成。 与系统RAM一样,RAID控制器上的RAM缓存越多越好。

固态硬盘



固态硬盘得到了很大的关注。 固态硬盘驱动器没有像传统磁盘那样的旋转头。 这些器件具有非易失性闪存或基于DRAM。 主要优点包括快速随机存取读取,因为没有磁头移动读取和写入。 基于DRAM的驱动器也具有极快的写入速度。 此时,与传统的硬盘驱动器相比,固态驱动器的成本比较高。

标签:MySQL 发布于:2019-11-21 06:22:51