3

我有一个可以远程访问共享开发数据库的开发环境。

我遇到来自远程 MySQL 服务器的非常慢的响应时间。我在 my.cnf 文件中添加了skip-name-resolve,重新启动了 mysqld,还验证了它确实是通过 mysql 命令行中的“显示变量”打开的。

有趣的是,如果我通过远程连接到命令行界面

mysql -h IPADDRESS -u USERNAME -p

所有命令都以闪电般的速度执行。

在一张大桌子上选择 * 会立即从管道中降下来。

我想知道为什么 CLI 会允许立即响应,但我的应用程序中的 php 连接在从远程 MySQL 服务器返回任何数据之前等待 8-10 秒。它是一个 Amazon EC2 实例,它是 Amazon linux ami,似乎类似于 CentOS。有任何想法吗?

谢谢!

4

2 回答 2

2

我刚刚解决了我遇到的同样问题,花了我 4 天。Apache 还可以 MySQL 也可以 问题出在我的脚本中 - gethostbyaddr(); 在本地主机上访问 Web 服务器时很好。但是从另一台计算机访问服务器需要很长时间,所以现在我已经注释掉了 gethostbyaddr() ,它就像从 localhost 运行一样快。我猜 gethostbyaddr() 是某种 Windows DNS 问题,稍后我会研究

于 2013-08-15T10:30:52.920 回答
1

我首先要确定缓慢的来源。是在打开数据库时建立连接,还是从选择返回结果,或两者兼而有之?你没有说你使用的是什么版本的 PHP 或者服务器上运行的是什么版本的 MySQL。我的钱将用于有问题的特定组合。确保您在 AMI 上运行最新更新。

于 2012-08-08T19:32:39.660 回答