Проблемы в разных таблицах базы связанных с таблицей gor_moderators_tasks

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 30 декабря 2018 в 14:38
Добиваю проблемы с базой сайта dsdnr.ru/ и никак не могу понять, почему во всех сбойных таблицах идет ссылка на таблицу gor_moderators_tasks

/system/controllers/content/model.php => 2328 => modelContent->getContentItemsCount()
SELECT COUNT( i.id ) as count
FROM gor_con_metodraz i
LEFT JOIN gor_moderators_tasks as t ON i.id=t.item_id AND t.ctype_name = 'metodraz'
WHERE (i.user_id = '1') AND (i.is_approved = '0') AND (t.item_id IS NULL) AND (i.is_deleted IS NULL)
Время выполнения 12.68309 секунд
Или кусок отчета отладчика
Сейчас гость видит сайт более быстрым, чем авторизованный пользователь. Как это лечить?
#2 30 декабря 2018 в 15:07

всех сбойных таблицах

vikont
А как вы определяете сбойные таблицы, если SQL запрос к ним успешен?

идет ссылка на таблицу gor_moderators_tasks

vikont
Наверное потому, что так нужно.

Как это лечить?

vikont
Настраивать сервера нормально, а не так. И не слушать дикие советы насчет nginx и phpfpm. Также, как и насчет mysql.

Хотите быстрый и надежный вебсервер нужно использовать nginx + apache + PHP как модуль apache. Имеете большую посещаемость и диагностируете проблемы с производительностью apache, отключаете для apache поддержку htaccess директивой AllowOverride None, а правила из всех htaccess переносите в конфигурационный файл виртуального хоста apache.
Еще раз, главные тезисы:
1. Диагностика, для выявления узких места
2. Решение согласно п1.

Никаких методов тыка и чтения сомнительных статей, кроме официальных или узкотематических форумов.
#3 30 декабря 2018 в 16:04

vikont:
всех сбойных таблицах
А как вы определяете сбойные таблицы, если SQL запрос к ним успешен?

Fuze
Время выполнения явно завышенное, а это уже говорит о каких то неполадках.

Еще раз, главные тезисы:
1. Диагностика, для выявления узких места

Fuze
Вот этим и занимаюсь, вот только что делать при их выявлении не всегда понятно, поэтому задаю свои вопросы

Хотите быстрый и надежный вебсервер нужно использовать nginx + apache + PHP как модуль apache.

Fuze
Можете обосновать? Везде пишут, что Apache тормоз, вы же советуете его для скоростного и надежного веба!
#4 30 декабря 2018 в 16:59
vikont,
Меня больше интересует, почему везде в этих запросах
  1. AND (t.item_id IS NULL)
?
Что это за поиск беспредметных заданий на модерацию? Какой метод такие запросы генерирует?
#5 30 декабря 2018 в 17:18

Что это за поиск беспредметных заданий на модерацию? Какой метод такие запросы генерирует?

Ris
Хороший вопрос! Самому непонятно что это такое.
#6 30 декабря 2018 в 17:22

Время выполнения явно завышенное, а это уже говорит о каких то неполадках.

vikont
Это в анналы истории smile

Можете обосновать? Везде пишут, что Apache тормоз, вы же советуете его для скоростного и надежного веба!

vikont
На заборах, на очень многих, тоже пишут. Обосновывать я ничего не буду, советы я даю на основе собственного опыта. Ключевые моменты я вам указал. Вы можете прислушиваться, можете игнорировать. phpfpm капризная штука, если вы не знаете как её готовить, при каких случаях, как рассчитывать потребляемую память, использовать это не нужно.

Меня больше интересует, почему везде в этих запросах

Ris
Это один из видов JOIN-в.
#7 30 декабря 2018 в 17:32
vikont, возьмите нормальный VPS и не экономьте "на спичках". Дешевое не может быть супер быстрым и надёжным.
#8 30 декабря 2018 в 17:32

Это один из видов JOIN-в.

Fuze
Это понятно. Но почему именно t.item_id IS NULL? Зачем искать то, чего не может быть?

возьмите нормальный VPS и не экономьте "на спичках".

Андрей
Виконт имеет VPS 3 ядра, 3 гига оперативки и 50 SSD.
Какой должен быть нормальный сервер при посещалке 40 уников в день?
#9 30 декабря 2018 в 17:49

Виконт имеет VPS 3 ядра, 3 гига оперативки и 50 SSD.
Какой должен быть нормальный сервер при посещалке 40 уников в день?

Ris
Наверно выделенный сервер 32 оперативки и 8 ядер проц… crazy

Виконт имеет VPS 3 ядра, 3 гига оперативки и 50 SSD.

Ris
Уже 4 гб оперативки… (по 27р за 1гб)
#10 30 декабря 2018 в 17:53

vikont, возьмите нормальный VPS и не экономьте "на спичках". Дешевое не может быть супер быстрым и надёжным.

Андрей
У вас в подписи куда слабее VPS чем у меня, но хостер не жадничает, а поэтому дешевле…
#11 30 декабря 2018 в 18:10

Это понятно. Но почему именно t.item_id IS NULL? Зачем искать то, чего не может быть?

Ris
Если подумать в каком случае этого не может быть, то станет понятнее что именно там ищется.
#12 30 декабря 2018 в 18:30

Если подумать в каком случае этого не может быть.

@SmartControl
Только если пост не на модерации.

то станет понятнее что именно там ищется.

@SmartControl
Тень отца Гамлета? smile
#13 30 декабря 2018 в 18:46

Только если пост не на модерации.

Ris
Нет постов на модерации. Более того, в таблицах модерации только 2 записи в gor_moderators
#14 30 декабря 2018 в 18:50
vikont,
Так проведите научный эксперимент.
Отмодерируйте эти два поста (одобрите или удалите), чтобы в этой таблице вообще ничего не было.
Как при этом изменится время вашего долгого запроса?
#15 30 декабря 2018 в 18:53

Нет постов на модерации. Более того, в таблицах модерации только 2 записи в gor_moderators

vikont
И? Движок то как-то об этом должен узнать. Не ищите проблемы, где её нет.
Проблема у вас в настройке mysql и вероятно еще в вашей конфигурации веб сервера. Проверяйте что расходует память, может быть в своп что-то уходит и так далее. Я давал ссылку на онлайн конфигуратор mysql. Конвертируйте все таблицы в innodb, настройте mysql на этот движок таблиц и будет вам счастье. При 40 униках тормозить там нечему. К примеру этот сайт и все сопутствующие работает на вируалке с 4Гб ОЗУ. И запаса еще вагон.
И хочу еще раз подчеркнуть

Никаких методов тыка и чтения сомнительных статей, кроме официальных или узкотематических форумов.

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