PHP:远程MySQL连接速度很慢

问题描述:

我有两台运行CentOS 5.7和cPanel-CURRENT的服务器。一个是x86,另一个是x64。两者都使用Apache 2.2.21,PHP 5.3.8和MySQL 5.1。PHP:远程MySQL连接速度很慢

如果我查询任何一台服务器上的本地数据库,结果会立即返回。在这个例子中,有几千个结果正在返回。但是,从一台服务器运行相同的查询到另一台服务器,查询需要10多秒才能完成。

如果我使用MySQL Workbench 5.2从我的工作站使用相同查询查询远程数据库,它会在不到一秒钟内完成,这让我认为PHP或其他服务器相关问题存在问题。

有没有其他人遇到过这个问题,并知道如何解决它?任何帮助将不胜感激。

+0

尝试mysql_pconnect()http://www.php.net/manual/en/function.mysql-pconnect.php mayb它将有帮助 – YamahaSY

+0

使用持久连接不会有帮助。该查询仍然需要完成相同的时间。 – Reado

+0

可能你的数据库有点不同?例如。并非本地机器上的所有索引都存在于远程服务器上PHP与远程MySQL服务器很好,可能还有其他一些问题。网络连接怎么样? 'Ping'远程服务器。 – Oroboros102

首先猜测:它可能是一个DNS问题,您可能会在my.cnf中使用--skip-name-resolve选项,或者您可能只使用MySQL授权表中的IP地址。

第二个猜测:它可能是安全级别的问题,我建议暂时禁用selinux或防火墙并再次运行测试。

+0

我正在使用IP地址连接到PHP和MySQL Workbench中的远程服务器。此外,“--skip-name-resolve”位于配置文件中,并且服务器已重新启动。最后,selinux被禁用(运行cPanel的要求之一),我试图禁用防火墙,但无济于事。 – Reado

+0

,你发现有什么改进?你能告诉我连接功能需要多长时间吗?我想知道什么是耗费时间,你的问题并不清楚。 –

+3

在配置文件中,它应该是“skip-name-resolve”而不是“--skip-name-resolve” - 前面的破折号只有在启​​动mysqld服务时用作参数。 –

我有一个PHP/MySQL应用程序的确切问题。

只是想分享给my.ini添加“skip-name-resolve”为我修复它。我有点困惑,因为我的桌面1上的应用程序使用IP地址访问桌面2(mysql)。我将在两个Windows 7桌面之间进行。