Mysql 性能调优

原创 2015年07月09日 16:38:47

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线程。

MySQL性能调优与架构设计

  • 2017年11月01日 13:55
  • 57.27MB
  • 下载

MySQL性能调优与架构设计

  • 2017年08月17日 10:57
  • 2.58MB
  • 下载

读《MySQL性能调优与架构设计》笔记之Join 的实现原理及优化思路

Join 的实现原理在MySQL中,只有一种Join 算法,就是大名鼎鼎的Nested Loop Join,Nested Loop Join 实际上就是通过驱动表的结果集作为循环基础数据,然后一条一...

mysql 性能调优与架构设计

  • 2015年01月28日 13:42
  • 2.84MB
  • 下载

MySQL性能调优与架构设计

  • 2013年10月11日 13:51
  • 2.8MB
  • 下载

读《MySQL性能调优与架构设计》笔记之充分利用 Explain和Profiling

1.1. Explain 的使用     我们先看一下在MySQL Explain 功能中给我们展示的各种信息的解释:     ◆ ID:MySQL Query Optimizer选定的执行计划中...

MySQL性能调优与架构设计

  • 2014年02月25日 09:26
  • 2.84MB
  • 下载

MySQL性能调优my.cnf详解

提供一个MySQL 5.6版本适合在1GB内存VPS上的my.cnf配置文件: [client] port = 3306 socket = /tmp/mysql.sock [mysqld] por...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mysql 性能调优
举报原因:
原因补充:

(最多只允许输入30个字)