php mysql db коннектится очень медленно - PullRequest
0 голосов
/ 11 октября 2009

У меня есть небольшой PHP-фреймворк, который в основном просто загружает контроллер и представление. Пустая страница загружается примерно за 0,004 секунды, используя microtime () в начале и конце выполнения.

Вот "проблема". Если я сделаю следующее:

$ link = @mysql_connect ($ server, $ user, $ pass, $ link); @mysql_select_db ($ база данных, $ ссылка);

страница загружается примерно за 0,500 секунд. Колоссальные 12500% скачков во времени для рендеринга пустой страницы.

это нормально или я здесь что-то серьезно не так делаю ... (я надеюсь на последнее).

РЕДАКТИРОВАТЬ: Может ли кто-нибудь сказать, что такое обычное время наказания для просто подключения к MySQL DB, как указано выше.

Ответы [ 4 ]

2 голосов
/ 11 октября 2009

Подавление ошибок с помощью @ замедлит ваш скрипт. Также SQL-соединение зависит от скорости сервера. Поэтому, если сервер медленно отвечает, вы получите медленное выполнение вашего скрипта.

0 голосов
/ 13 декабря 2012

Возможно, причина в том, что разрешение домена происходит медленно.

пропуск имя-решительность

Добавьте это в my.cnf, затем перезапустите mysqld.

И если вы пропустите разрешение имени, вы не сможете использовать имя хоста в mysql для разрешения пользователя.

0 голосов
/ 26 сентября 2012

Вы пытались проверить целостность ваших данных? сделать таблицу ремонта и оптимизировать таблицу для всех таблиц. Я знаю, что иногда, когда таблица повреждена, время соединения может занимать огромное количество времени / терпеть неудачу все вместе.

0 голосов
/ 17 декабря 2009

На самом деле, я не понимаю, что вы пытаетесь сделать с переменной $link. $link = @mysql_connect($server,$user,$pass,$link);, вероятно, неправильно, возможно, не делает то, что вы хотите (т.е. ничего в вашем примере), если только у вас нет более одной ссылки на базы данных (расширенный материал)

Документация php.net заявляет

new_link

Если сделан второй звонок mysql_connect() с тем же аргументы, никакой новой ссылки не будет установлено, но вместо этого ссылка идентификатор уже открытой ссылки будет возвращен. new_link параметр изменяет это поведение и mysql_connect() всегда открывает новая ссылка, даже если mysql_connect() был вызван раньше с тем же параметры. В безопасном режиме SQL это параметр игнорируется.

На моем веб-сервере время загрузки в среднем всегда примерно одинаково (4000 мксек в первый раз и 600 мксек во второй раз)

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

Я бы не слишком беспокоился об этой проблеме.

(о, старый вопрос! Не важно, все еще отвечаю)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...