Linux MySQL性能优化小记
2016-08-26 本文已影响89人
超高校级的IT民工
MySQL是互联网行业使用率最高的数据库,它的优势是开源和免费
最近的Linux服务器上的MySQL进程老是奔溃,导致renwentech.com上的个人博客不能访问,或者访问速度奇慢无比XD,每次都要手动重启服务器才能恢复,令人十分头疼。然而我也并不是什么DBA,对于数据库的原理知之甚少。
本着“发现问题->分析问题->解决问题的思路”,开始了问题的研(百)究(度)
经分析,问题可能出在内存不足引发MySQL的进程crash,因为买的腾讯云的服务器内存只有1G(价格便宜,买不起贵的😂)当内存用完后,mysql进程被转移到SWAP分区(虚拟内存),数据库对于IO要求极高,进程跑在硬盘上肯定不行,导致执行查询语句时直接卡死。。。
解决方案:网上找到一种解决方案,执行memlock,把mysql进程常驻内存,不让它跑到交换分区里去。编辑/etc/mysql/my.cnf(每个人的配置文件路径可能不一样),添加
[mysqld]
memlock
然后重启mysqld进程,运行了一整天,网页的访问速度依然非常快
如上图,服务器的物理内存已经耗尽,开始消耗swap分区 image
如上图,执行
top
,输入M查看内存,单单一个mysql进程就吃掉41%的内存,难怪老是死机
作为一个前端开发工程师,数据库方面必然用的不多,还要与各位业界同仁一起学习,一起进步!