我有一个开发环境,可以远程访问共享的dev数据库。
我遇到了来自远程MySQL服务器的非常慢的响应时间。我已经在my.cnf文件中添加了skip-name-resolve,重启了mysqld,并且通过mysql命令行中的“show variable”验证了它确实是打开的。
有趣的是,如果我通过远程连接到命令行界面
mysql -h IPADDRESS -u USERNAME -p
所有命令的执行速度都快如闪电。
在一个大的表上,Select *会立即出现在管道中。
我想知道为什么CLI允许立即响应,而我的应用程序中的php连接等待8-10秒才能从远程MySQL服务器返回任何数据。这是一个亚马逊EC2实例,它是亚马逊linux ami,看起来和CentOS很相似。有什么想法吗?
谢谢!
发布于 2013-08-15 18:30:53
我刚刚解决了同样的问题,花了我4天的时间。Apache很好,MySQL也很好,问题出在我的脚本-gethostbyaddr()中;当在本地主机上访问web服务器时,问题就出现了。但是当从另一台计算机访问服务器时需要很长时间,所以现在我已经注释掉了gethostbyaddr(),它的速度就像从本地主机运行一样快。我猜gethostbyaddr()是某种Windows DNS问题,我将在后面讨论
发布于 2012-08-09 03:32:40
我会从确定缓慢的原因开始。是在打开数据库时建立连接,还是从select返回结果,还是两者兼而有之?您不需要说明您使用的是哪个版本的PHP,或者MySQL在服务器上运行的是什么版本。我的赌注是那个特定的组合是有问题的。确保在您的AMI上运行最新的更新。
https://stackoverflow.com/questions/9590615
复制相似问题