Mysql 性能调优

1、skip-name-resolve

查看mysql的错误日志里有如下类似信息:

IP address '222.186.15.114' could not be resolved: Name or service not known

原因是mysql对连接的客户端默认进行DNS反向解析(ip反解析为域名),无论内网还是外网访问都会有此操作,这是个费时操作,有两种解决办法,一个是在/etc/hosts文件中加入对应ip,随便取个名字,另一个就是在my.cnf中加入配置参数skip-name-resolve,这样可以关闭DNS反向解析功能,提高效率

另外需要注意的是,添加该参数后,mysql的授权表中就不能使用主机名了,只能使用ip,当授权表中存在设置了hostname的账号,数据库错误日志会有如下提示:

....’user’entry ‘root@xxxx’ ignored in --skip-name-resolve mode

删除对应的账号或者将host修改为ip就可以了

2、max_connections

在平时测试过程中,JAVA客户端启动线程池访问数据库,不断重启会造成数据库访问线程没有正常关闭,经常出现too many connections的错误,通过show processlist可以看到很多sleep线程,单纯通过将max_connections配大,并不一定可以解决问题,因为该参数还与open_files_limit,table_open_cache有关系,open_files_limit = 10+max_connections+table_open_cache*2,如果我们设置的max_connections不合理,在数据库错误日志中会出现相应的警告,并且设置不会生效,系统会自动计算出一个合理的值。另外解决sleep线程过多的办法是可以设置wait_timeout参数,默认是8个小时,mysql会自动释放这些sleep线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值