我设置了一个可以远程访问共享开发数据库的开发环境。
我的远程 MySQL 服务器的响应时间非常慢。我添加了 skip-name-resolve到 my.cnf 文件,重新启动 mysqld,并验证它确实是,通过 mysql 命令行中的“显示变量”打开。
有趣的是,如果我通过远程连接到命令行界面
mysql -h IPADDRESS -u USERNAME -p
所有命令都以闪电般的速度执行。
在大表上选择 * 会立即通过管道。
我想知道为什么 CLI 允许立即响应,但我的应用程序中的 php 连接在从远程 MySQL 服务器返回任何数据之前等待 8-10 秒。是Amazon EC2 instance,又是Amazon linux ami,好像和CentOS差不多。有什么想法吗?
谢谢!
最佳答案
我刚刚解决了我遇到的同样问题,花了我 4 天时间。 Apache 没问题 MySQL 也不错 问题出在我的脚本中 - gethostbyaddr(); 在本地主机上访问 Web 服务器时很好。 但是当从另一台计算机访问服务器时需要很长时间,所以现在我已经注释掉了 gethostbyaddr() 并且它就像从本地主机运行一样快。 我猜 gethostbyaddr() 是某种 Windows DNS 问题,我稍后会研究它
关于即使在启用 skip-name-resolve 后,MySQL 远程连接也很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9590615/