Задавайте вопросы, мы ответим
Вы не зашли.
Есть простой запрос:
Неактивен
а) Что показывает show global variables like 'low_priority_updates'; ?
б) лучше last_activity вынести из таблицы users, которая часто используется на чтение, чтобы эффективно работали кэши и буферы.
Неактивен
Запрос "show global variables like 'low_priority_updates';" показывает:
low_priority_updates - OFF
Отредактированно walik (20.03.2012 16:32:40)
Неактивен
UPDATE всегда выполняется медленно, даже если выполнить руками?
Что показывает SHOW FULL PROCESSLIST в момент медленного выполнения?
Проверьте производительность диска, протестируйте его по smart и проверьте свободное место на диске.
Неактивен
ID | User | Host | db | Command | Time | State | Info
160 | main | **.**.**.***:42190 | main | Sleep | 188 | |
172 | main | **.**.**.***:43896 | main | Query | 0 | |SHOW FULL PROCESSLIST
361 | main | **.**.**.***:48388 | main | Sleep | 189 | |
498 | main | localhost | main | Sleep | 2 | |
499 | main | localhost | main | Query | 2 | end | UPDATE `users` SET `last_chat_activity` = '1332246906' WHERE (id = "11")
Иногда бывает запрос выполняется быстро 0.15
Отредактированно walik (20.03.2012 16:55:14)
Неактивен
А что говорит EXPLAIN на этот запрос?
Неактивен
Выдает syntax error. EXPLAIN вроде бы только на SELECT можно юзать ?
Неактивен
Упс, прошу прощения,
Неактивен
id | select_type | table | type | possible_keys | key | key_len | ref | rows | extra
1 | SIMPLE | users | const | PRIMARY,id | PRIMARY | 4 | const | 1 |
Насчет диска, написали хостеру, посмотрим что ответит))
Отредактированно walik (20.03.2012 17:15:51)
Неактивен
walik написал:
Насчет диска, написали хостеру, посмотрим что ответит))
С этого надо было начинать. Какой хостинг? Если виртуальный, то может быть какая-то особая версия MySQL и она нагружена кем-то другим.
Неактивен
Хостинг VPS.
MySQL версия - 5.0.92
Сам хостинг не тормозит, вообще практически не нагружается.
Отредактированно walik (20.03.2012 17:25:58)
Неактивен
Какая ОС? Какой тип таблицы, MyISAM? Сколько свободной памяти?
Если Innodb доступен, попробуйте сделать
Неактивен
ОС - Centos
Тип таблицы уже InnoDB
Эмм, извиняюсь, свободной памяти чего ?
Неактивен
Вот, что странно - state запроса UPDATE 'end', то есть он висит в стадии завершения транзакции.
Подобная проблема описана у Зайцева: http://www.mysqlperformanceblog.com/200 … gressions/
Его рекомендация:
Неактивен
После всяких изменений и настроек, ситуация чуть чуть улучшилась получается, что он в начале несколько раз выполняется быстро, потом медленно. (до этого почти всегда медленно было)
Такое чувство как будто скорость выполнения запроса зависит от фазы луны
rgbeast написал:
UPDATE всегда выполняется медленно, даже если выполнить руками?
Если ручками вбивать запрос (через Navicat к примеру я делаю), то запрос выполняется всегда быстро
Отредактированно walik (20.03.2012 18:38:47)
Неактивен
Может быть есть какие-то еще нагружающие запросы.
Если чувство, что зависит от фазы луны, то скорее всего это нагрузка диска другими VPS на том же физическом сервере.
Неактивен
Хех, проблема вроде бы как решена, напарник покопался хорошо в настройках и вроде стало намного лучше
Спасибо вам за помощь, премного благодарен.
Неактивен
walik, ну так расскажите что напарник накопал ?
Неактивен
Мы когда хостеру писали о проблеме, нам ответили что нужно менять настройки MySQL. Он навряд ли сможет сказать в точности что и где менял, так как мы не особо профи в MySQL, и все что меняли, брали инфу из инета. Поэтому мы немножко без понятия что именно поспособствовало улучшению ситуации))
Неактивен