Долгие запросы MySql 2.X

Как бороться с задумчивостью мускула?

 
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2102
Частенько приходится наблюдать запросы в базу по несколько секунд. Например:
Спойлер
При открытии категорий контента тоже случаются зависания секунд на десять
Спойлер
Да, таблицы контента 150000 строк, а комментариев под миллион. Но!
Рядом на том же сервере, с теми же настройками базы данных остался старый сайт на первой ветке, с которого все перенесено.
Так там такой задумчивости не наблюдается. Все открывается меньше секунды.
Задумчивость Instantcms2 , это баг или фича?
Или движок, рассчитан на десять статей и сто комментариев и не более?
Редактировалось: 1 раз (Последний: 8 ноября 2017 в 12:09)
Посетитель
small user social cms
Медаль
Сообщений: 137
Еще если у материала много комментариев (до 100 терпимо, но если 1000 - проблемы), то идет нагрузка.
Как вариант, можно загружать часть комментариев, а остальные при нажатии кнопки "Следующие комментарии". Предложение на ГитХабе
Реклама
cms
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4154
Ris:
Задумчивость Instantcms2 , это баг или фича?
Или движок, рассчитан на десять статей и сто комментариев и не более?
Задумчивости нет никакой. Есть несколько сайтов у клиентов с записями в типах контента в районе полумиллиона, - проблем нет. Вы уверены, что Mysql настроен корректно? Особенно если тип таблиц InnoDB (в единичке MyISAM).

Для комментариев можно сделать вот так:
Код SQL:
  1. `ALTER TABLE `cms_comments` DROP INDEX date_pub;`
Код SQL:
  1. ALTER TABLE `cms_comments` ADD INDEX (`is_approved`, `is_deleted`, `date_pub`);
В обновлении сделаю нормальные индексы для комментариев.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1283
Fuze, на единичке блоги страдают, когда спамеры навтыкают по 82 тыс сообщений, если стоит модуль по блогам на главной, то туши свет. запросы сразу в slow и сайт открывается по полминуты. И еще запрос на теги при выборке target="blogpost"
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2102
Fuze:
Вы уверены, что Mysql настроен корректно?
Совсем не уверен. У меня есть тестовый сервер с развернутой копией с дефолтными настройками VestaCp
Там два ядра и два гига оперативки, но результаты запроса примерно такие же:
Спойлер
Категория контента:
Спойлер
Мои настройки с тестового сервера (кэширование отключил специально):
Спойлер
Я пытался найти в сети рекомендации по ускорению медленных запросов, но там у каждого Абрама своя программа, многи советы противоречат друг другу и не один не привел к ускорению работы.

Может Вы расскажете, как правильно настроить мускул? Вот мои настройки с рабочего сайта:
Спойлер
kirkr,
В единичке модуль можно кэшировать, а спамеров отсекать (где-то видел плагин, который проверяет регистрации по спам-базам).
А тут ни спамеров, ни народу в онлайне, а открытие комментариев на модерацию загружает проц на 100% и на полминуты.
Редактировалось: 1 раз (Последний: 8 ноября 2017 в 13:08)
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1283
Ris, еще рекомендую посмотреть конфиг mysql, если дефолтный там куча ограничений. и проверку сделать таблиц в phpmyadmin есть диагностика
доп:
например
Ris:
innodb_file_per_table
почему нет значения =1 ? если хотите все таблицы разложить в разные файлы
Спойлер
Редактировалось: 2 раз (Последний: 8 ноября 2017 в 13:29)
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2102
kirkr,
Конфиг выше под спойлером.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6451
Ris:
Может Вы расскажете, как правильно настроить мускул? Вот мои настройки с рабочего сайта:

Надо запустить хотя бы mysqltuner - глянуть что покажет.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2102
letsgo:
Надо запустить хотя бы mysqltuner - глянуть что покажет.
Вот с тестового сайта:
Спойлер
Вот с рабочего:
Спойлер
И главная страница открывается по четыре секунды всегда. Это сильно напрягает.
Спойлер
Редактировалось: 1 раз (Последний: 8 ноября 2017 в 15:06)
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2476
Не перезапуская mysql посмотреть через phpmyadmin переменные и те что красные оптимизировать
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4154
Ris, попробуйте почитать тут
Ris:
Вот мои настройки с рабочего сайта:
Судя по конфигу - у вас дефолт. Из того, что написано я бы query_cache_limit уменьшил.
Основная директива это key_buffer_size, которая у вас по умолчанию (она не задана). Если таблицы у вас innodb, то также стоит указать innodb_buffer_pool_size. Это если вкратце совсем. Вот тоже неплохая статья.

В целом, по проблеме комментариев, указанные мной выше индексы решат проблему, но разумеется для такой большой базы нужно подстроить MySQL.
Редактировалось: 1 раз (Последний: 8 ноября 2017 в 15:53)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6451
Вообще конечно так наугад не настроишь, надо смотреть статистику и тд. Но примерно так https://pastebin.com/9XqfBcAr (обязательно бекап сохранить оригинал my.cnf ) и дальше уже тестировать, по результатам что куда поправлять. Желательно тестировать и уже изменять по ходу работы. Не забудьте службу перегрузить естественно.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2102
Что-то я в попытках разобраться в этих тормозах совсем запутался.
У меня уже нервный тик и глаз дергается. shock
Включено кэширование на 2 минуты в memcached, но почему-то вместе с кешем все равно производятся запросы в базу.
Вот это из одной отладки:
Спойлер
И в то же время использовался кэш:
Спойлер
Такое ощущение, что кэш сохраняется, но не используется.
Что, черт побери, можно еще проверить, чтобы оно зашевелилось?
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2476
Есть ли у вас база - innodb_memcache
Если нет то вы не насторили связку memcached c mysql
зайдите в мускуль под рутом и выполните:
source /usr/share/mysql/innodb_memcached_config.sql;
install plugin daemon_memcached soname "libmemcached.so";
или если стоит mysql и используется innodb то как вариант перейти на mariadb 10.2 и запустить rockdb
Редактировалось: 1 раз (Последний: 7 февраля 2018 в 23:35)
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2102
eoleg,
У меня MyISAM.
Если есть смысл поменять на innodb - напишите, пожалуйста, в чем смысл.
На тестовом сервере переконвертил базу в innodb - особого ускорения не увидел.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.