RSS-лента

Лучшие CMS интернета бесплатно для создания сайта

Фев
5

Какие запросы к MySQL называют медленными?

Всем привет. Любая база данных — это набор букв, цифр и символов. Чтобы, сервер смог быстро запросить и получить те или иные данные, в базе они хранятся в таблицах, разделённых на множество строк и ячеек. Для пользователя данные в таком виде будут практически нечитаемы, а учитывая их объёмы и структуру информации, даже программисту без специальных инструментов будет сложно собрать одну строку воедино.

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

Выражаясь простым языком, работа с базой данных — это целый комплекс программных действий. Каждое из этих действий может вызывать ошибки, сбои и приводить к иным проблемам, способным повлиять на конечный результат и скорость его получения. К одному из таких нюансов относятся медленные запросы к базе данных — запросы, на обработку которых серверу требуется много времени. Для среднестатистических сайтов это временной промежуток более одной секунды.

таблицы базы данных MySQL

Несмотря на мизерный промежуток времени, запрос, выполнение которого занимает более одной секунды, очень громоздкий. Дело в том, что запрос к базе данных — это лишь меньшая часть той работы, которую предстоит выполнить серверу для обработки запроса страницы посетителем сайта. Пока запросы не будут обработаны, не начнётся компиляция кода страницы, следовательно пользователь не увидит данные, которые запросил. Редкий посетитель сайта готов ждать и не предпочтёт уйти на другой ресурс. Следовательно, медленные запросы не только требуют больших затрат ресурсов сервера, но и могут ударить по репутации сайта.

Наиболее распространённым причинами возникновения медленных запросов являются ошибки при обращении к базе данных- ошибки 404, проблемы безопасности сайта, не оптимизированные таблицы и высокая нагрузка на сервер, во время которой ресурсов CPU не хватает для обработки запроса. Чтобы обращения пользователя к сайту не приводили к созданию множества медленных запросов, необходимо создавать дополнительные проверки, позволяющие корректировать и делать более точный запрос, следить за настройками и оптимизировать сервер баз данных.

Оптимизация медленных запросов MySQL.

  Для самописных систем управления сайтом одной из наиболее распространённых ошибок является вывод более 50 строк на странице результатов поиска или на странице с контентом. Посетитель, имея возможность получать за раз все записи или большую их часть, создаёт большую нагрузку на сервер запросом одной страницы, а при посещении сайта роботом такая нагрузка и вовсе может привести к непредсказуемым результатам. Злоумышленники могут этим воспользоваться, чтобы сделать сайт временно недоступным.

Сервер управления базами данных MySQL имеет встроенный инструмент, позволяющий логировать медленные запросы. В нём же можно указать промежуток времени, по истечении которого запрос попадает в список медленных. Изучив содержимое лог-файла данного инструмента, можно понять, какие запросы наиболее часто выполняются дольше и в каких, соответственно, могут быть ошибки.

Оптимизация MySQL

Включение логирования медленных запросов в MySQL производится в конфигурационном файле. В нём нужно вписать всего лишь две строчки, в одной из которых указать время, по истечению которого обрабатываемый запрос считается медленным, в другой — путь к лог-файлу, в который будет производиться запись:

long_query_time = 3

log-slow-queries = /var/log/mysqld-slow-query.log

После внесения изменений необходимо перезагрузить сервер MySQL, чтобы конфигурационный файл был перечитан и изменения в нём вступили в силу. Так мы включили логирование запросов, обработка которых занимает более трёх секунд, и записываем их в файл /var/log/mysqld-slow-query.log (для операционных систем семейства Windows путь к файлу будет другим).

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

Получай первым обновления блога!

Введите Ваш e-mail:

Оставить комментарий


вверх