MySQL服务器硬件和操作系统如何调节

技术MySQL服务器硬件和操作系统如何调节小编给大家分享一下MySQL服务器硬件和操作系统如何调节,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧

边肖将与大家分享如何调整MySQL服务器的硬件和操作系统。相信大部分人还不太了解,所以分享这篇文章给大家参考。希望你看完这篇文章会有很多收获。我们一起来看看吧!

MySQL是一个强大的开源数据库。随着数据库驱动的应用越来越多,人们已经将MySQL推向了极限。以下是调整和优化MySQL安装的技巧。有些技巧是针对特定的安装环境,但这些思路是通用的。

MySQL服务器硬件和操作系统调整:

1.有足够的物理内存将整个InnoDB文件加载到内存中。——内存访问文件的速度比硬盘快很多。

2.不惜一切代价避免交换分区——交换时从硬盘读取分区,速度非常慢。

3.电池供电的随机存取存储器(注意:随机存取存储器是随机存取存储器)。

4.使用高级磁盘阵列(注意:冗余磁盘阵列非常昂贵)-首选磁盘阵列10或更高版本。

5.避免RAID5(注意:一个考虑到存储性能、数据安全性和存储成本的存储解决方案)-验证数据库完整性是要付出代价的。

6.将操作系统与数据分区分开,不仅在逻辑上,而且在物理上——操作系统的读写操作会影响数据库的性能。

7.把MySQL临时空间和复制日志及数据放在不同的分区——当数据库后台从磁盘读写时,会影响数据库的性能。

8.更多的磁盘空间意味着更快的速度。

9.更好更快的磁盘。

10.使用SAS(注:SerialAttachedSCSI)代替SATA(注:SATA,串行硬盘)。

1.较小的硬盘比较大的硬盘更快,尤其是在RAID配置中。

12.使用电池支持的缓存RAID控制器。

13.避免使用软件磁盘阵列。

14.考虑使用固态IO卡(而不是磁盘驱动器)进行数据分区——这些卡几乎可以支持任何数据量的2GB/s写入速度。

15.在Linux中将swappiness值设置为0-没有理由在数据库服务器中缓存文件,这是服务器或桌面的优势。

16.如果可能,使用noatime和nodirtime来装载文件系统——没有理由更新访问数据库文件的修改时间。

17.使用XFS文件系统——一个比ext3更快更小的文件系统,并且有很多日志选项,ext3已经被证明在MySQL上有双重缓冲问题。

18.调整XFS文件系统日志和版主变量,以达到最高性能标准。

19.在Linux系统中,使用NOOP或DEADLINEIO调度器——与NOOP和DEADLINE调度器相比,这种CFQ和predictive调度器非常慢。

20.使用64位操作系统——对于MySQL,会有更多的内存支持和使用。

21.删除无服务器资源消耗上未使用的安装包和守护程序。

22.将MySQL主机和您的MySQL主机放在一个主机文件中-没有DNS查找。

23.不要强行终止一个MySQL进程——你会损坏数据库和运行备份的程序。

24.将服务器贡献给MySQL——后台进程和其他服务可以缩短数据库的CPU时间。

MySQL配置:

25.写入时,使用innodb_flush_method=O_DIRECT避免双重缓冲。

26.避免使用O_DIRECT和EXT3文件系统——您将序列化要编写的所有内容。

27.分配足够的InnoDB_buffer_pool_size将整个InnoDB文件加载到内存中-从磁盘读取它的次数更少。

28.不要将参数innodb_log_file_size设置得太大,这样可以更快同时拥有更多的磁盘空间——丢失更多的日志通常是好事,这样可以减少数据库崩溃后恢复数据库的时间。

29.不要混合innodb_thread_concurrency和thread_concurrency参数——这两个值不兼容。

30.给max_connections参数分配一个非常小的值——太多的连接会耗尽内存并锁定MySQL服务。

31.将thread_cache保持在一个相对较高的数值,大约16-以防止连接打开缓慢。

32.使用跳过-名称-解析参数-删除DNS查找。

33.如果您的查询被重复,并且数据没有频繁更改,您可以使用查询缓存。但是,如果您的数据经常更改,使用查询缓存会让您失望。

34.增加temp_table_size值以防止写入磁盘。

35.增加max_heap_table_size的值以防止写入磁盘。

36.不要将sort_buffer_size值设置得太高,否则内存会很快耗尽。

37.根据key_read_requests和key_reads的值确定key_buffer的大小。一般来说,key_read_requests应该高于key_reads,否则无法有效使用key_buffer。

38.将innodb_flush_log_at_trx_commit设置为0将提高性能,但如果您想保持默认值(1),则必须确保数据的完整性,同时必须确保复制不会落后。

39.您应该有一个测试环境来测试您的配置,并在不影响正常生产的情况下频繁重启。

以上就是文章“如何调整MySQL服务器硬件和操作系统”的全部内容。感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/137940.html

(0)

相关推荐

  • 助学贷款提前还款,国家助学贷款可以提前还款吗

    技术助学贷款提前还款,国家助学贷款可以提前还款吗国家助学贷款经办银行应允许有条件的借款学生提前偿还贷款,借款学生可通过手机银行、网上银行完成提前偿还贷款操作,也可通过经办银行申请办理助学贷款提前还款。对提前偿还的贷款部分

    生活 2021年10月21日
  • 怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵

    技术怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵本篇文章给大家分享的是有关怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完

    攻略 2021年11月9日
  • 转载:Promise输出题10道 加强理解

    技术转载:Promise输出题10道 加强理解 转载:Promise输出题10道 加强理解1.const promise = new Promise((resolve, reject) = {conso

    礼包 2021年10月20日
  • bootrom 命令(bootrom是在哪里启动操作系统的)

    技术Boot之bootrom启动顺序是怎么样的这篇文章主要为大家展示了“Boot之bootrom启动顺序是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Boot之bo

    攻略 2021年12月22日
  • Go语言核心36讲,Go语言进阶技术二)--学习笔记

    技术Go语言核心36讲,Go语言进阶技术二)--学习笔记 Go语言核心36讲(Go语言进阶技术二)--学习笔记08 | container包中的那些容器
    我们在上次讨论了数组和切片,当我们提到数组的时候

    礼包 2021年10月20日
  • zookeeper安装部署

    技术zookeeper安装部署 zookeeper安装部署zookeeper安装部署
    这里的zookeeper用的是:zookeeper-3.4.5.tar.gz
    1.本地模式安装部署
    1.1 安装前准

    礼包 2021年11月9日