页面

2008年12月17日

在内网连接MySQL速度慢的原因

在内网连接MySQL速度慢的原因 不指定

        mysql 可以通过host =内网IP地址这种形式来访问,这点是很多人都知道的。我们公司在内网开发好的网站程序提交到服务器之后,总发现点击网页的链接之后,响应时快时慢,host=localhost的!经过重重排查最后确认是数据库响应时间有问题,可是让系统管理员上服务器直接使用mysql内部命令,查询速度却非常正常。后来写了一个简单的php链接mysql的程序测试,才发现问题的关键所在:服务器的dns解析没做好!解决办法是可以手动在host加入内网的IP对应别名或者域名
例如: 192.168.1.11        localhost, www.kakapo.cn

        补充另外一个问题,host=ip地址,但是由于公司内部网络调整,连接到本地连接到另外一个MySQL数据库很慢,但是连接上后又操作正常。问题主要是每次mysql_connect的时候会出现。找到的一个解决办法是在my.cnf里修改配置,禁用DNS反向解析:
[mysqld]
--skip-name-resolve


         补充--skip-name-resolve这个选项的作用:
      mysql客户端每次访问db,mysql就会试图去解析来访问的机器的hostname,并缓存到hostname cache,如果这时解析不了,等一段时间会失败,数据才能被取过来。

没有评论: