PHP: удаленные соединения MySQL очень медленные - PullRequest
13 голосов
/ 22 ноября 2011

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

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

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

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

Ответы [ 2 ]

12 голосов
/ 22 ноября 2011

Первое предположение:

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

Второе предположение:

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

4 голосов
/ 21 февраля 2012

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

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

...