数据人成长交流的一站式服务平台

网站首页 > 数据编程 正文

关于MySQL服务器硬件和OS(操作系统)调优的24条建议

nandi88 2024-08-18 20:07:13 数据编程 11 ℃

概述

MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供一些关于MySQL服务器硬件和OS(操作系统)调优的建议。


优化建议

1、足够的内存

有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在磁盘上,InnoDB会快很多。

2、避免swap

要尽力避免 Swap 操作 — 交换(swapping)是从磁盘读取数据,所以会很慢。

3、使用电池供电的RAM(Battery-Backed RAM)

4、使用一个高级磁盘阵列

最好是 RAID10 或者更高。


5、避免使用RAID5

和校验需要确保完整性,开销很高。

6、分离操作系统和数据

将你的操作系统和数据分开,不仅仅是逻辑上要分开,物理上也要分开。操作系统的读写开销会影响数据库的性能。

7、日志与数据分开

将临时文件和复制日志与数据文件分开,后台的写操作影响数据库从磁盘文件的读写操作。

8、更多的磁盘空间等于更高的速度。

9、磁盘速度越快越好。

10、SAS优于SATA。

11、小磁盘的速度比大磁盘的更快,尤其是在 RAID 中。

12、使用电池供电的缓存 RAID(Battery-Backed Cache RAID)控制器。

13、避免使用软磁盘阵列。

14. 考虑用固态IO卡做数据分区

建议使用固态IO卡(不是磁盘)来作为数据分区 — 几乎对所有量级数据,这种卡能够支持 2 GBps 的写操作。

15、设置 swappiness 的值为0

在 Linux 系统上,设置 swappiness 的值为0,没有理由在数据库服务器上缓存文件,这种方式在Web服务器或桌面应用中用的更多。

16、尽可能使用 noatime 和 nodirtime 来挂载文件系统

没有必要为每次访问来更新文件的修改时间。

17、使用 XFS 文件系统

一个比ext3更快的、更小的文件系统,拥有更多的日志选项,同时,MySQL在ext3上存在双缓冲区的问题。

18、优化你的 XFS 文件系统日志和缓冲区参数

这是为了获取最大的性能基准。

19、使用合适的IO调度

在Linux系统中,建议使用 NOOP 或 DEADLINE IO 调度器 — CFQ 和 ANTICIPATORY 调度器已经被证明比 NOOP 和 DEADLINE 慢。

20、使用 64 位操作系统

这样就有更多的内存能用于寻址和 MySQL 使用。

21、将不用的包和后台程序从服务器上删除

主要是减少资源占用。

22、将使用 MySQL 的 host 和 MySQL自身的 host 都配置在一个 host 文件中

目的是没有 DNS 查找。

23、永远不要强制杀死一个MySQL进程

因为这样你将损坏数据库,并运行备份。

24、让你的服务器只服务于MySQL

后台处理程序和其他服务会占用数据库的 CPU 时间。


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~


Tags:

最近发表
标签列表