powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Очень долгие запросы!
25 сообщений из 58, страница 1 из 3
Очень долгие запросы!
    #38752083
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем хорошего дня!

Debian, MySQL 5.6.19.
Работал сайт прекрасно, вдруг недавно начались проблемы с запросами, при чем с любыми (select, update, insert).
Например:

# Query_time: 28.738771 Lock_time: 0.000094 Rows_sent: 0 Rows_examined: 1
update `user` set `timeZone`='Europe/Moscow' where `id`='2';

Его explain:

id select_type table type possible_keys key key_len ref rows filtered Extra'1' 'SIMPLE' 'user' 'range' 'PRIMARY' 'PRIMARY' '8' 'const' '1' '100.00' 'Using where'

Это вообще что-то его личное:
# Query_time: 27.254406 Lock_time: 0.000266 Rows_sent: 0 Rows_examined: 210
select count(*) into @discard from `information_schema`.`PARTITIONS`;
# Query_time: 23.213852 Lock_time: 0.000166 Rows_sent: 2 Rows_examined: 126
SELECT ENGINE,SUM(DATA_LENGTH),COUNT(ENGINE) FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema','mysql') AND ENGINE IS NOT NULL GROUP BY ENGINE ORDER BY ENGINE ASC;

А вот моё:
# Query_time: 2.580645 Lock_time: 1.431141 Rows_sent: 1 Rows_examined: 12
SET timestamp=1411141756;
select count(1) cnt from `lib` where createdate >= '2014-09-19 15:48:58';
Индексов в этой таблице нет, но там сейчас около 10 записей, в любом случае такого времени не должно быть.
Есть свои селекты и на десятки секунд.

Короче итог такой, что в любой момент любой запрос может зависнуть на произвольное время.
Кучу параметров уже наменял в my, ничего не меняется. После перезапуска mysql проблема сразу наблюдается. Сейчас innodb_flush_log_at_trx_commit = 0. Но ведь не только с update проблемы.
Короче, я уже не знаю что делать, второй день сижу над этим.
Есть лог медленных запросов примерно за пол года - нет там таких долгих запросов, а тут вдруг началось такое.

Что подскажете?
Кстати, можно ли выполнить explain update с выполнением самого update? То есть чтобы на выполненном запросе увидеть, что происходит?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752105
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterКстати, можно ли выполнить explain update с выполнением самого update? То есть чтобы на выполненном запросе увидеть, что происходит?

только в mysql версии 5.6 и выше
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752110
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LumixprogrammisterКстати, можно ли выполнить explain update с выполнением самого update? То есть чтобы на выполненном запросе увидеть, что происходит?

только в mysql версии 5.6 и выше

И как это сделать? При explain сам update не выполняется.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752111
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixprogrammisterКстати, можно ли выполнить explain update с выполнением самого update? То есть чтобы на выполненном запросе увидеть, что происходит?

только в mysql версии 5.6 и вышеДаже на версии 5.6 "explain update" можно, а вот "с выполнением самого update" - нет.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752115
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно. Тогда может в целом что-нибудь подскажете?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752174
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
perfomance_scema
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752182
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterЯсно. Тогда может в целом что-нибудь подскажете?
Обратиться к хостеру.
Прекратить ожидать от унылых VPS производительности выше чем древний ноутбук. Вы же не один на сервере.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752233
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindprogrammisterЯсно. Тогда может в целом что-нибудь подскажете?
Обратиться к хостеру.
Прекратить ожидать от унылых VPS производительности выше чем древний ноутбук. Вы же не один на сервере.

Это Ажур :)
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752237
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowperfomance_scema

Спасибо, узрел я эту штуку в workbench. Что-то там столько всего :). Можете подсказать куда в моём случае лучше смотреть там? :)
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752239
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

вот, кстати, один из основных проблемных запросов:

Query Full Table Scan Executed (#) Errors (#) Warnings (#) Total Time Max Time Avg Time Rows Sent (#) Avg. Rows Sent (#) Rows Scanned (#) Avg. Rows Scanned (#) Temp. Tables (#) Temp. Disk Tables (#) Rows Sorted (#) Sort Merge Passes (#) DigestUPDATE `user` SET `timeZone` = ? WHERE `id` = ? 227 0 0 58799743.94 7674932.65 259029.71 0 0.0 227 1.0 0 0 0 0 826222397d4b7b4637ca7c69c368fbeb
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752269
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterЯсно. Тогда может в целом что-нибудь подскажете?Поищите настоящие долгие запросы. В т.ч. последите, не создаются ли временные таблицы диске. Последить можно как глазами (по наличию файлов в /tmp), там и по статус-переменным в MySQL.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752313
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftprogrammisterЯсно. Тогда может в целом что-нибудь подскажете?Поищите настоящие долгие запросы. В т.ч. последите, не создаются ли временные таблицы диске. Последить можно как глазами (по наличию файлов в /tmp), там и по статус-переменным в MySQL.

Долгие запросы-то я и так знаю :). Как можно подробно изучить конкретный уже выполненный запрос или в процессе выполнения?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752321
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

по отчётам этот запрос не создаёт временных таблиц.
В Full Table Scan его тоже нет.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752322
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterДолгие запросы-то я и так знаю :).А нам показать?programmisterКак можно подробно изучить конкретный уже выполненный запрос или в процессе выполнения?Для начала посмотреть план.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752323
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmistermiksoft,

по отчётам этот запрос не создаёт временных таблиц.
В Full Table Scan его тоже нет.Этот - это какой?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752324
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftprogrammisterДолгие запросы-то я и так знаю :).А нам показать?programmisterКак можно подробно изучить конкретный уже выполненный запрос или в процессе выполнения?Для начала посмотреть план.

Я же показал в первом посте и запрос, и его план. :)
Вот его за основу взял. Там поиск про ключу и обновление поля.
update `user` set `timeZone`='Europe/Moscow' where `id`='2';
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752327
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterЯ же показал в первом посте и запрос, и его план. :)
Вот его за основу взял. Там поиск про ключу и обновление поля.
update `user` set `timeZone`='Europe/Moscow' where `id`='2';Не, это не настоящие долгие запросы, это "наведенные". Имхо, они чего-то долго ждали. Либо соседей по серверу (о чем говорил netwind), либо ресурсов, занятых вашими настоящими долгим запросами.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752338
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftprogrammisterЯ же показал в первом посте и запрос, и его план. :)
Вот его за основу взял. Там поиск про ключу и обновление поля.
update `user` set `timeZone`='Europe/Moscow' where `id`='2';Не, это не настоящие долгие запросы, это "наведенные". Имхо, они чего-то долго ждали. Либо соседей по серверу (о чем говорил netwind), либо ресурсов, занятых вашими настоящими долгим запросами.

1. Я этот запрос тестировал просто из своего локального workbench, когда на сайте никого нет, то есть больше нет никаких запросов.
2. В slow-логе часто идёт ТОЛЬКО этот запрос, то есть перед ним или после него нет долгих запросов, а этот может от 5 до 70 секунд висеть.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752340
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmister2. В slow-логе часто идёт ТОЛЬКО этот запрос, то есть перед ним или после него нет долгих запросов, а этот может от 5 до 70 секунд висеть.Все страньше и страньше...

Какая текущая схема(база) при выполнении этого запроса? mysql или другая?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752343
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftКакая текущая схема(база) при выполнении этого запроса? mysql или другая?

Другая. И в workbench, и в php при подключении параметр dbname=...
Я сейчас остановил веб-сервер и от себя поотправлял этот update - иногда зависает на 5-10 сек.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752349
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterДругаяТ.е. таблица user - это ваша таблица?
Какой движок у таблицы? Полный DDL можете показать? Сколько записей?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752353
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftprogrammisterДругаяТ.е. таблица user - это ваша таблица?
Какой движок у таблицы? Полный DDL можете показать? Сколько записей?

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

Записей около 200.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
CREATE TABLE `user` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `createDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `modifyDate` datetime DEFAULT NULL,
  `right` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `nick` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `login` varchar(250) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `password` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `birthDate` date DEFAULT NULL,
  `sex` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `family` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `avatar` varchar(250) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `lang` varchar(2) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `interests` text COLLATE utf8_unicode_ci,
  `address` varchar(2000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `isAddress` tinyint(1) unsigned NOT NULL DEFAULT '0',
  `confirm` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
  `timeZone` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `timeOffset` mediumint(9) NOT NULL DEFAULT '0',
  `isActive` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `isConfirm` tinyint(1) unsigned NOT NULL DEFAULT '0',
  `isDelete` tinyint(1) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `nick_UNIQUE` (`nick`),
  UNIQUE KEY `login_UNIQUE` (`login`)
) ENGINE=InnoDB AUTO_INCREMENT=206 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752365
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Это что-то с чем-то.
Опять всё отключил на сервере, и через консоль зашёл в mysql и начал отправлять запросы - один из 5-10 запросов длиться 3-8 сек.
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752366
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programmisterНапомню, что долго стали висеть ещё и другие запросы. И селекты, и инсёрты.Из-за блокировок там много чего может потянуться.

Автокоммит включен? Как вообще коммит происходит?
...
Рейтинг: 0 / 0
Очень долгие запросы!
    #38752368
programmister
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftАвтокоммит включен? Как вообще коммит происходит?

Ну, в php транзакция явно открывается только в редких случаях (когда по логике нужно несколько запросов сделать). А так для одного запроса, типа этого, своей транзакции нет.
В консоле тем более никаких транзакций не открываю. Сейчас при тесте просто update отправлял.
В workbench по умолчанию нажата autocommit.

В самом mysql autocommit = ON
innodb_commit_concurrency = 0
innodb_flush_log_at_trx_commit = 0
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 1 из 3
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Очень долгие запросы!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]