Linux环境下MySQL服务器优化的方法详解
发布时间:2023-04-25 19:58:26
本文详细的介绍了在Linux环境下如何给MySQL服务器进行优化普通的MySQL用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由MySQL管理员和系统管理员来完成的优化,这些管理员在MySQL服务器或运行MySQL的机器上具有控制权。有的服务器参数直接适用于查询处理,可将它们打开。而有的硬件配置问题直接影响查询处理速度,应该对它们进行调整。
磁盘问题
正如前面所述,磁盘寻道是一个性能的大瓶颈。当数据开始增长以致缓存变得不可能时,这个问题变得越来越明显。对大数据库,在那你或多或少地要随机存取数据,你可以依靠你将至少需要一次磁盘寻道来读取并且几次磁盘寻道写入。为了使这个问题最小化,使用有低寻道时间的磁盘。
为了增加可用磁盘轴的数量(并且从而减少寻道开销),符号联接文件到不同磁盘或分割磁盘是可能的。
1、使用符号连接
这意味着你将索引/数据文件符号从正常的数据目录链接到其他磁盘(那也可以被分割的)。这使得寻道和读取时间更好(如果磁盘不用于其他事情)
2、分割
分割意味着你有许多磁盘并把第一块放在第一个磁盘上,在第二块放在第二个磁盘上,并且第n块在第(nmodnumber_of_disks)磁盘上,等等。这意味着,如果你的正常数据大小于分割大小(或完美地排列过),你将得到较好一些的性能。注意,分割是否很依赖于OS和分割大小。因此用不同的分割大小测试你的应用程序。见10.8使用你自己的基准。注意对分割的速度差异很依赖于参数,取决于你如何分割参数和磁盘数量,你可以得出以数量级的不同。注意你必须选择为随机或顺序存取优化。
为了可靠,你可能想要使用袭击RAID0+1(分割+镜像),但是在这种情况下,你将需要2*N个驱动器来保存N个驱动器的数据。如果你有钱,这可能是最好的选择。然而你也可能必须投资一些卷管理软件投资以高效地处理它。
一个好选择是让稍重要的数据(它能再生)上存在RAID0磁盘上,而将确实重要的数据(像主机信息和日志文件)存在一个RAID0+1或RAIDN磁盘上。如果因为更新奇偶位你有许多写入,RAIDN可能是一个问题。
你也可以对数据库使用的文件系统设置参数。一个容易的改变是以noatime选项挂装文件系统。这是它跳过更新在inode中的最后访问时间,而且这将避免一些磁盘寻道。
硬件问题
可利用硬件更有效地改善服务器的性能:
1、在机器中安装更多的内存。这样能够增加服务器的高速缓存和缓冲区的尺寸,使服务器更经常地使用存放在内存中的信息,降低从磁盘取信息的要求。
2、如果有足够的RAM使所有交换在内存文件系统中完成,那么应该重新配置系统,去掉所有磁盘交换设置。否则,即使有足以满 * 换的RAM,某些系统仍然要与磁盘进行交换。
3、增加更快的磁盘以减少I/O等待时间。寻道时间是这里决定性能的主要因素。逐字地移动磁头是很慢的,一旦磁头定位,从磁道读块则较快。
4、在将数据重新放到不同设备之前,应该保证了解该系统的装载特性。如果在特定的物理设备上已经有了某些特定的主要活动,将数据库放到该处实际上可能会使性能更坏。例如,不要把数据库移到处理大量Web通信的Web服务器设备上。
5、在设置MySQL时,应该配置其使用静态库而不是共享库。使用共享库的动态二进制系统可节省磁盘空间,但静态二进制系统更快(然而,如果希望装入用户自定义的函数,则不能使用静态二进制系统,因为UDF机制依赖于动态连接)。
服务器参数的选择
服务器有几个能够改变从而影响其操作的参数(或称变量)。系统变量的当前值可以通过执行MySQLadminvaribles命令来检查,其中几个参数主要与查询有关,有必要在此提一下:
delayed_queue_size
此参数在执行其他INSERTDELAYED语句的客户机阻塞以前,确定来自INSERTDELAYED语句的放入队列的行的数目。增加这个参数的值使服务器能从这种请求中接收更多的行,因而客户机可以继续执行而不阻塞。
key_buffer_size
此参数为用来存放索引块的缓冲区尺寸。如果内存多,增加这个值能节省索引创建和修改的时间。较大的值使MySQL能在内存中存储更多的索引块,这样增加了在内存中找到键值而不用读磁盘块的可能性。
在MySQL3.23版及以后的版本中,如果增加了键缓冲区的尺寸,可能还希望用——init-file选项启动服务器。这样能够指定一个服务器启动时执行的SQL语句文件。如果有想要存放在内存中的只读表,可将它们拷贝到索引查找非常快的HEAP表。


猜你喜欢
- Xmind2022Mac是一款非常便捷的制作思维导图的软件,制作思维导图可以帮助用户更高效的进行学习,在Xmind中如何试用截图功能呢?下面
- Win11间歇性卡顿怎么解决?现在很多用户都安装了Win11系统了,最近有用户反映,在使用Win11系统的时候经常会遇到间接性卡顿的情况,这
- 在Win10系统上,微软加强了企业、学校等组织在系统中的管理功能。Win10支持添加工作区账户,以此连接到工作区,方便学校或组织对电脑进行管
- 如传闻那样,iPhone11全系列都没有了3D Touch。虽然iPhone11手机没有了3D Touch,但苹果在iOS 13系统中加入了
- Win7启动时如何删除两个帐户? 仅保留一个管理员帐户,并在随后的办公室操作期间添加一个帐户以存储或区分不同的文件信息。 教程/方
- 很多人会用QQ截图,会用手机截图,会用暴风影音截图,但不一定会用Excel进行截图。用Excel截图其实并不难,只是很多人都不用而已。但是偶
- Word是一款很棒的文档编辑软件,使用的用户也非常多,而我们在编辑Word文档的时候难免需要插入连续图片列表,不过很多刚接触不久的用户还不清
- Word用于文字编辑、排版,不掌握一些技巧,实在说不过去。如果要在文字与文字之间插入空格,你会想到什么方法?很明显手动插入不是个科学的办法,
- word文档中可以使用鼠标快速的选择一段文字,今天我们来看看word巧用鼠标选文字的八个技巧,都比较使用,下面我们来看看有几个技巧是我们不知
- 很多Win10用户反馈在Win10的使用中会遇到任务栏相关问题,而任务栏图标空白发生的频率非常高,很多用户只能通过重启来解决!其实这个问题是
- 我们可以根据excel工作表的数据和类型,创建的excel图表可以直观的反映出来数据的关系和数据间的规律,下面我们就来学习下在excel中创
- 计算机在工作过程中会产生各种各样的临时文件和历史记录,近期使用的程序、文件、计算机开关机记录等,都是有迹可循的,假若用户急于寻找最近使用过的
- epic是一个游戏平台,很多用户都会在这里下载体验游戏,但是有用户下载epic发现自己卡在登录界面进不去了,这该怎么办?导致epic进不去卡
- 如何全新安装win11系统?win11系统已经开始被广大的用户所接受,而且经过了几个版本的更新,已经变得稳定可靠,那么想要安装体验的话,要怎
- 在word文档编辑时,有时同时打开多个word文档,但编辑之后一个一个的保存,特别费时费力,如何同时保存所有打开文档?下面小编就为大家详细介
- 如果要在Excel中将单元格内字符串中的重复字符去掉,重复的字符仅保留一个,如将字符串“1232345667”变成“1234567”,可以用
- 最近很多用户反映Epic平台突然登陆不上去了,不少用户在登录Epic平台的时候无法登录或是登录的时候登录按钮一直转圈,造成用户无法获取游戏了
- 每次Win7系统提示用户“未安装任何音频输出设备”的时候音频都不能播放任何声音,我们对于“未安装任何音频输出设备”的提示也无法作出有效的处理
- win10微软拼音中英文切换快捷键可以修改。许多用户不习惯使用系统默认的快捷键切换。事实上,自定义键位非常简单。让我们来看看详细的修改教程。
- bios密码要怎么清除?这是很多朋友都想知道的问题,不少人都有给自己电脑加密习惯,电脑中的一些重要文件、bios也都加密。但是不少人在加密之