我设置了一个开发环境,可以远程访问共享开发人员数据库。
我遇到来自远程MySQL服务器的非常慢的响应时间。我已经将skip-name-resolve添加到my.cnf文件中,重新启动了mysqld,并且还确认它确实是通过mysql命令行中的“show variables”打开的。
有趣的是,如果我通过
远程连接到命令行界面mysql -h IPADDRESS -u USERNAME -p
快速执行所有命令。
在一张大桌子上选择*即时进入管道。
我想知道为什么CLI会允许立即响应,但我的应用程序中的php连接等待8-10秒后才从远程MySQL服务器返回任何数据。这是一个Amazon EC2实例,它是Amazon linux ami,似乎与CentOS类似。有什么想法吗?
谢谢!
答案 0 :(得分:2)
我刚刚解决了我遇到的同样问题,花了我4天时间。 Apache没问题 MySQL也没问题 问题出现在我的脚本中 - gethostbyaddr(); 当访问localhost上的Web服务器时很好。 但是当从另一台计算机访问服务器需要很长时间时,所以现在我已经注释掉了gethostbyaddr(),它就像从localhost运行一样快。 我猜gethostbyaddr()是某种Windows DNS问题,稍后我将介绍
答案 1 :(得分:1)
我首先要确定缓慢来自何处。是在打开数据库时建立连接,还是从select中返回结果,或两者兼而有之?您没有说明您正在使用的PHP版本或服务器上运行的MySQL版本。我的钱将在这个特定的组合上存在问题。确保您在AMI上运行最新更新。