Какова типичная скорость, с которой PHP соединяется с MySQL?

0

Скажем, у меня очень стандартный код подключения mysql:

$dbhost = '192.168.1.99';
$dbuser = 'dbuser';
$dbpass = 'dbuserpass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
$dbname = 'mydb';
mysql_select_db($dbname);

Это будет подключение с веб-сервера к серверу базы данных (скажем, веб-сервер находится на 192.168.1.98 или что-то в этом роде). Как правило, как долго будет выполняться вышеуказанный код? В настоящее время я вижу около 2 секунд. Это медленное?

  • 0
    Как вы измеряете время соединения? Вы уверены, что это та часть MySQL, которая работает медленно, а не что-то еще (например, если вы также визуализируете веб-страницу). Также, пожалуйста, ради бога, прекратите использовать старую библиотеку mysql. Он должен умереть быстрой, милосердной смертью. PDO или, если нужно, mysqli, это лучший подход.
  • 0
    Я использую microtime, чтобы узнать время до и после установления соединения. Код только для демонстрации. Пожалуйста, имейте в виду, что я только пытаюсь подключиться к серверу, не более того.
Показать ещё 1 комментарий
Теги:
optimization
mysql-connect

5 ответов

2
Лучший ответ

Одна из возможностей заключается в том, что mysql выполняет поиск DNS, чтобы найти имя подключаемого сервера; в зависимости от вашей установки, это может занять много времени. Там не очень много пользы, кроме возможности указать пользователей по имени хоста, а не по IP-адресу (например, user @example.com, а не user @192.168.1.1).

Это может быть отключено в конфигурации или при запуске MySQL с параметром -skip-name-resolve. Дополнительная информация доступна на сайте MySQL.

  • 0
    Я собираюсь добавить этот флаг и посмотреть, что произойдет. Спасибо за информацию.
  • 0
    Я добавил этот флаг, и мое время соединения изменилось с 2 секунд до 7,7 мс. Благодарю.
Показать ещё 1 комментарий
1

2 секунды кажется медленным, но это зависит от вашего сервера и сервера базы данных. В зависимости от того, что они делают, где они находятся и многие другие факторы, это может быть быстро.

Я обычно получаю время меньше секунды.

1

В локальной локальной сети, если вы не используете устаревшее оборудование или что-то не так, оно должно быть порядка (a) миллисекунд (ы).

0

У вас много таблиц? Это может быть время, оглядываясь после подключения. Слишком медленная ошибка командной строки mysql? Быстро ли это, если вы подключаетесь к localhost?

  • 0
    Не должно быть никакого сканирования таблиц при подключении к базе данных. Я управляю веб-сайтом с сотнями таблиц на удаленном сервере MySQL, и я никогда не замечал такой задержки.
0

Это очень медленно. На различных веб-сайтах вся страница отображается в течение двух секунд. То есть, подключение к базе данных, запуск запросов, получение результатов и отображение страницы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню