一般来讲,程序配置优化所产生的生产力远比提高硬件配置要好,可能一行蹩脚的SQL要吃
掉你服务器整个内存,导航你的网站或服务器宕机。
优化程序和服务器配置是提高效率的第一步也是最好的办法,如果实在不行再从去升级你的硬件配置。
在
日常的MySQL服务器中,wait-timeout这个参数非常有用。
(在部分MySQL的默认配置中可能没有wait-timeout这个参
数项,你在[mysqld]节中加上即可)
参数意义:MySQL客户端的数据库连接闲置最大时间值。
参数默认值:默认值为8小时 。
这
个参数的大概意思是某一个MySQL客户端连接闲置的最大时间值,即某一个MySQL客户端连接过程中,闲置的最大时间到达后服务器将其关闭。
MySQL
服务器所支撑的最大连接数是有限的,因为每一个连接、第一个表打开的操作都要消耗服务器内存,理想状态是当一个MySQL客户端连接完成工作就自动断开释
放内存,如果你的你的网站有大量的MySQL链接请求,这些连接完成SQL执行任务后空闲着啥事也不干,白白占用内存资源,如果这些连接堆积起来,将导致
MySQL超过最大连接数,从而无法新建MySQL连接,有可能导致“Too many connections”的错误。
可以在设置之前用
show
processlist查看一下MySQL状态,如果你发现你的MYSQL中有大量的Sleep进程,哪么你真的需要设置你的wait-timeout
了。依你的程序而定设置多大的值,我的设置wait-timeout=10,MySQL中的所有Sleep线程最多只能“睡”10秒,之后就被强行关闭
了。
注意:要经常追踪一下看看目前MYSQL里面是否有长连接存在如果有的话要尽快中断
阅读(875) | 评论(0) | 转发(0) |