PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

MySQL性能优化之swap占用高_MySQL

原创
2016-06-01 13:28:23 1122浏览

bitsCN.com

mysql性能优化之swap占用高

 

    在MySQL的大数据量测试时,发现MySQL单表数据约超过4000万行时出现性能拐点。查询性能逐步下降,但下降还算缓慢。

 

    继续添加数据,又出现一次明显的性能拐点。性能可谓是陡降,磁盘IO显著上升,开始使用交换分区。

 

    此时MySQL的数据文件和内存一般大!这不太可能吧,当数据文件和内存一般大时就会出现性能下降?那以前服务器内存小的时候,MySQL岂不是不用干了?

 

    部分内存是被操作系统吃了。手动干掉操作系统的文件缓存`echo 3 > /proc/sys/vm/drop_caches`,以为这样会让MySQL可用内存更多。但结果并未见好转,反而是缓存刚被清是性能更差了。

 

    经过一轮搜索,原来是需要告诉操作系统尽可能的不要使用磁盘作交换:`echo 0 > /proc/sys/vm/swappiness`(更新到系统配置,在/etc/sysctl.conf上添加vm.swappiness = 0)。

 

    此值默认为60,即(60%)。当然,设为0并非禁用,而是最大限度地使用物理内存。

 

    OK,加此设置之后,MySQL在更多数据量时也未出现swap交换的现象、性能随数据量的增加平缓下降

bitsCN.com
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。