Про время выполнения SQL запросов на VDS, Откуда такие задержки |
Здравствуйте, гость ( Вход | Регистрация )
Настоящие Правила Раздела являются дополннением к Общим Правилам Конференции. В случаях противоречий отдельных пунктов, действуют Правила Раздела.
Про время выполнения SQL запросов на VDS, Откуда такие задержки |
frog |
23.05.2009, 15:28
Сообщение
#1
|
Группа: Старые пользователи Сообщений: 8 Регистрация: 23.05.2009 Пользователь №: 9,613 Репутация: 190 |
Добрый день всем!
Пользуюсь услугами VDS одного украинского хостера (не будем показывать пальцами) Анализирую лог времени выполнения SQL запросов. Задача: выбрать несколько записей по первичному ключу на одной таблице в которой 1000 записей (примитивный запрос который даже на самом старом оборудовании должен выполнятся за доли секунды). Лог иногда приобретает вот такой вид: 0.03 сек 0.005 сек 0.007 сек 4 сек 0.01 сек 0.006 сек Пытался понять откуда берется задержка в 4 сек? Перешел на более высокий тариф, загнал в кеш некоторые таблицы. Проблема осталась. Затем думал что происходят блокировки таблиц при репликации (у меня настроена репликация) - отключил репликацию - т.е. идут только SELECTы, стало работать немножко пошустрее - но такие логи все равно остались. Примитивные запросы иногда выполняются по 6 сек! При отключенной репликации и при том что я один на сервере. Соответственно в итоге время генерации страницы становится более 6 сек! У Вас есть какие то предположения? Хостер работает на OpenVZ, а эта система допускает оверселлинг. Возможно ли что моя проблема возникает из за загруженности всего сервера, и в частности из за большого количества обращений к жесткому диску? Ведь MySQL берет данные с него. Текущие параметры: Operon 1300 MHz 1024 RAM |
lazutov |
23.05.2009, 15:45
Сообщение
#2
|
Графоман раздела претензий Группа: Старые пользователи Сообщений: 1,139 Регистрация: 21.06.2007 Из: MOW Пользователь №: 5,748 Репутация: 231 |
Зависит от размера таблицы и физического местоположения данных.
Если она большая и фрагмантированная, если не справляются винты - будут задержки. Индексы не используются? Сделайте запрос OPTIMIZE TABLE `table`. Или его аналог в Вашей СУБД На БД с 1 500 000 записей с частым update/insert результаты заметны: (IMG:http://smages.com/t/6e/fa/6efa110e58cd644e68f3693ad1b418e6.jpg) Знаками v отмечены моменты оптимизации. UPD: отошлите, если не сложно, мне в ЛС ссылочку на хостера... Сообщение отредактировал lazutov - 23.05.2009, 15:53 |
Ivan |
23.05.2009, 16:32
Сообщение
#3
|
Отдыхаю Группа: Старые пользователи Сообщений: 3,533 Регистрация: 02.08.2002 Из: ЗАО "Рувеб" Пользователь №: 35 Репутация: 261 |
Предположу, что в disk io сервер упирается временами.
|
Maxim Volgin |
23.05.2009, 17:46
Сообщение
#4
|
Группа: Старые пользователи Сообщений: 448 Регистрация: 26.02.2008 Пользователь №: 7,018 Репутация: 198 |
Примитивные запросы это какие (IMG:style_emoticons/default/smile.gif) ? Возможно для мукула они таковыми не является. Запросу могут ждать выполнения других запросов даже если для этого явных видимых причин нет. Например заходят 2 юзера на одну и туже страницу одновременно и мускул героически сам с собой борется.
|
eSupport.org.ua |
23.05.2009, 18:17
Сообщение
#5
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Диск
Погоняйте gzip из /dev/random на диск и посмотрите сколько времени занимает |
frog |
23.05.2009, 19:00
Сообщение
#6
|
Группа: Старые пользователи Сообщений: 8 Регистрация: 23. |