Счетчик количества просмотров дает нагрузку на БД

ЗАКРЫТО InstantCMS 2.X
#1 23 сентября 2021 в 11:13

Всем привет!

Не знаю из-за чего, но время выполнения очень долгое. Если отключить счетчик количества просмотров, сайт работает быстро.

Записей в контенте 22 000.

Изображение

#2 23 сентября 2021 в 12:52

 Вадим Нарочный

Повесьте индекс на hits_count.

#3 23 сентября 2021 в 13:22

Повесьте индекс на hits_count.

Ris

Не помогло(

#4 23 сентября 2021 в 13:40

А у вас случайно не бегет? У одного моего клиента была такая проблема, решили банально просто — просто подключили новую базу и в нее перенесли все таблицы из старой. Чушь конечно, но помогло

#5 23 сентября 2021 в 13:43

А у вас случайно не бегет?

Make

Нет. VPS у Inferno Solutions

#6 23 сентября 2021 в 13:59

 Вадим Нарочный

Попробуйте в my.cnf добавить

innodb_flush_log_at_trx_commit=2

Потом рестарт майэскуэль.

Если что-то не получится — пишите, разберемся.

#7 23 сентября 2021 в 15:55

Попробуйте в my.cnf добавить

innodb_flush_log_at_trx_commit=2

Потом рестарт майэскуэль.

Если что-то не получится — пишите, разберемся.

Ris

Ничего не изменилось!

#8 23 сентября 2021 в 16:34

Вадим Нарочный, primary индекс на столбце id есть? Кэш mysql включен? Таблицы myisam или innodb?

Повесьте индекс на hits_count.

Ris

Не поможет.

#9 23 сентября 2021 в 16:39

primary индекс на столбце id есть?

Fuze

Да

Таблицы myisam или innodb?

Fuze

Innodb

Кэш mysql включен?

Fuze

Да. Memcached

#10 23 сентября 2021 в 16:56

Да. Memcached

Вадим Нарочный

Я про кэш mysql.

Отключите его в my.ini

  1. query_cache_size = 0

Так же удалите индекс hits_count или составной, где эта ячейка в индексе перечислена последней.

И попробуйте увеличить в my.ini

  1. innodb_buffer_pool_size = 128M

вместо 128M поставьте значение, равное 60% оперативной памяти на сервере.

#11 23 сентября 2021 в 17:24

 Fuze, все сделал, mysqld перезагрузил. И вот ведь странно, открытие (загрузка) нескольких страниц, скорость норм, потом опять по 5-10 секунд.

Написал в поддержку, не зря же люди занимаются администрированием, посмотрим что они ответят, позже отпишусь тут! Всем спасибо за помощь. 

Будут ещё идеи, пишите!

#12 23 сентября 2021 в 18:55

Да. Memcached

Вадим Нарочный

Попробуйте отключить Memcached. Очень похоже, что причина в нем.

#13 23 сентября 2021 в 20:14

В общем тех.поддержа ответила что подкрутили настройки mysql и попросили понаблюдать. Сайт работает быстро, задержек со счетчиком нет. Если отключить Memcached, сайт загружается ещё быстрее, что очень удивительно!

#14 24 сентября 2021 в 16:24

Если отключить Memcached, сайт загружается ещё быстрее, что очень удивительно!

Вадим Нарочный

Попробуйте выполнить настройку Memcached  по инструкции Битрикса: 

  1. https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=32&LESSON_ID=9421

Так же не используйте Memcached  с двух или более сайтов одновременно без добавления уникальных идентификаторов ключей.

Но лучше перейдите на Redis или и вовсе откажитесь от подобных кэширующих сервисов, если нагрузка на БД невелика.   

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.