Перейти к содержимому
Русский язык для Invision Community 5

Долгая загрузка темы IPS 4

Последняя версия 4

 

Сервер eVPS-16, на форуме очень долго открываются темы, где есть большое количество сообщений. С другим такое не наблюдается... С чем это может быть связано?

Рекомендованные сообщения

Даже первая страница открывается долго? Плагины какие нибудь установлены, а то я тут на днях с такими столкнулся, что там бы целый сервер лег не то что форум.

  • Автор

Да все отлично грузится кроме большой темы в 500000 постов... и 20000 страниц.

Плагины отключал. С кэшированием играл, разницы не увидел.

В большой теме тормоза начинаются по мере нарастания номера страницы, или тормозит одинаково что на первой что на последней? Можно посмотреть на план выполнения sql запросов включив отладачную информацию.

  • Автор
В большой теме тормоза начинаются по мере нарастания номера страницы, или тормозит одинаково что на первой что на последней? Можно посмотреть на план выполнения sql запросов включив отладачную информацию.

тормозит одинаково, что на первой что на последней в большой теме.

 

Сделал define( 'QUERY_LOG', TRUE );

 

Ссылка в личке.

20к страницы это много, лучше не нарастать тему да такого количество и ограничется максимум 1к-2к страниц. По этому поводу у меня даже идея для плагина радилась - закрывать тему если в ней превышено определенное количество сообщений.

  • Автор

Да, только некоторым сложно доказать, что на старом форуме все было ок.... а тут такие недоработки..

 

Я припоминаю, что на 3.3.4 когда-то выпускали патч, который фиксил примерную проблему...

84 запросов это много, нужно оптимизировать. Например, что это за фигня:

SELECT COUNT(*) AS position FROM `ibf_forums_posts` AS `forums_posts` WHERE topic_id=19261 AND pid<=33978 AND queued=0

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

Далее, что-то таблица core_sessions слишком часто дергается для каждого пользователя отдельно. По хорошему нужно оптимизировать в один запрос, не знаю то ли это плагин то ли так сделано по умолчанию. Аналогично происходит и с core_pfields_data. Хотя выборка выполняется по первичному ключу и происходит быстро, но разницу между выполнением 20 запросов вместо одного все же есть, пусть и небольшое и на нормальном сервере не сильно ощутимо.

 

Я припоминаю, что на 3.3.4 когда-то выпускали патч, который фиксил примерную проблему...

Здесь не требуется, сделано нормально. Но с запросом выше нужно разобраться и убрать. При необходимости плагин доработать.

тормозит одинаково, что на первой что на последней в большой теме.

Все же торможение происходит по нарастанию страниц, и это заметно. Тогда проблема явно в вышеуказанном запросе. Но тормозит не только генерация страницы сервером, у меня и сам браузер начинает тормозить от этой темы.

  • Автор

Спасибо, увидел гаденыша. Хук называется Post Number ID (я вчера все плагины отключал), но нужно было кэш сбросить.

Хук называется Post Number ID (я вчера все плагины отключал), но нужно было кэш сбросить.

Автору нужно настучать по поводу этого плагина, пусть хотябы посмотрит как это было реализовано в тройке, таких проблем там небыло. И что самое страшное, подобных не оптимизированных плагинов встречаю очень часто. Один из таких (FMW41) Topic Starter's Avatar In Topics List, при такой ситуации положил бы нахрен форум а то и весь сервер с таким количеством сообщений как на этом форуме.

  • Автор

Я подал жалобу на файл с описанием. И ссылку на нашу тему.

 

Спасибо

Лучше, без запросов в бд. Можно ставить.

  • Автор

Установил, конечно лучше чем первый на порядок. Но тормоза присутствуют в больших темах. Отключил

Но тормоза присутствуют в больших темах. Отключил

Не должен он создавать проблем, так как логика у него самая простая - текущей номер страницы умножить на количество сообщений на странице. Тормоза сами по себе от большой темы.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.