PHP: удаленные подключения к MySQL очень медленные

У меня есть два сервера, оба из которых выполняются CentOS 5.7 и cPanel-CURRENT. Один из них - x86, а другой - x64. Оба используют Apache 2.2.21, PHP 5.3.8 и MySQL 5.1.

Если я запрашиваю локальную базу данных на любом из серверов, результаты будут возвращены мгновенно. В этом случае возвращается несколько тысяч результатов. Однако выполнение одного и того же запроса с одного сервера на другой, и запрос занимает более 10 секунд.

Если я использую MySQL Workbench 5.2 для запроса удаленной базы данных с моей рабочей станции с тем же запросом, она завершается менее чем за секунду, что заставляет меня думать, что проблема с PHP или чем-то еще связана с сервером.

Кто-нибудь еще сталкивался с этой проблемой и знал, как ее решить? Любая помощь будет принята с благодарностью.

Ответ 1

Предположим, что это могут быть проблемы с DNS, и вы можете использовать параметр -skip-name-resolve в my.cnf, или вы можете использовать только IP-адреса в таблицах грантов MySQL.

Второе предположение: это может быть проблема с уровнем безопасности, и я предлагаю временно отключить selinux или брандмауэр и снова запустить тест.

Ответ 2

У меня была эта точная проблема с приложением PHP/MySQL.

Просто хотел поделиться тем, что добавление "skip-name-resolve" в my.ini исправил его для меня. Я был немного смущен этим, так как мое приложение на рабочем столе 1 обращалось к рабочему столу 2 (mysql) с использованием IP-адреса. Я перехожу между двумя рабочими столами Windows 7.