>데이터 베이스 >MySQL 튜토리얼 >MySQL性能优化之swap占用高_MySQL

MySQL性能优化之swap占用高_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-01 13:28:231285검색

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으로 문의하세요.