FX - Session Mod

FX - Session Mod 1.0.0

Нет прав для скачивания
Совместимость с XenForo
2.2.x 2.3.x
Русификатор
Нет
[FX] Session Mod обеспечивает высокопроизводительное автоматическое восстановление, оптимизацию таблиц и управление активностью сессий без простоев для XenForo 2.2+ и 2.3+. Он защищает ваше сообщество от блокировки базы данных, ошибок переполнения памяти и сбоев таблиц, не требуя ручного вмешательства в работу сервера.


В XenForo таблица xf_session_activity регистрирует активных участников, гостей и поисковых роботов, просматривающих ваш форум в режиме реального времени. Эта таблица обновляется и запрашивается практически при каждом HTTP-запросе.

Из-за такой непрерывной высокоинтенсивной работы администраторы XenForo часто сталкиваются с катастрофическими проблемами в работе базы данных, из-за которых весь форум оказывается недоступен:
  1. Ошибка MySQL [1114]: таблица xf_session_activity заполнена:
    • При использовании механизма MEMORY (HEAP) размер таблицы строго ограничен параметрами MySQL max_heap_table_size и tmp_table_size (обычно 16 МБ или 32 МБ).
    • Во время резких скачков трафика, агрессивного сканирования поисковыми роботами (Google, Bing, Ahrefs, Yandex) или DDoS-атак таблица быстро заполняется.
    • Последствия: посетители и участники получают сообщение «Произошла непредвиденная ошибка базы данных» на белом экране. Вся система выходит из строя, и администраторы не могут получить доступ к панели управления без SSH или phpMyAdmin, чтобы вручную выполнить команду TRUNCATE TABLE.
  2. Повреждение таблиц и ошибки сбоя ([145] Таблица помечена как поврежденная и требует восстановления):
    • Перебои в подаче электроэнергии на сервер, неожиданные перезапуски MySQL или состояния гонки при высокой нагрузке могут привести к повреждению индексных структур таблиц MyISAM или MEMORY.
  3. Взаимные блокировки и тайм-ауты ожидания блокировки ([1205], [1213]):
    • Параллельные обновления и рутинные операции очистки могут приводить к взаимной блокировке строк при высокой нагрузке на запись.
[FX] Session Mod навсегда устраняет эти уязвимости. Он перехватывает исключения базы данных, связанные с xf_session_activity, автоматически очищает и восстанавливает таблицу, подавляет некритичные ошибки, чтобы страницы загружались без сбоев, и предоставляет администраторам мощные инструменты управления в один клик прямо в панели управления.


  • Обнаружение сигнатур с несколькими кодами:
    • Автоматически определяет исключения базы данных, нацеленные на xf_session_activity:
      • 1114 - ER_RECORD_FILE_FULL (Таблица заполнена)
      • 145, 1194, 1034, 1016, 1030, 126, 127 ( Таблица помечена как аварийно завершенная / поврежденная)
      • 1205, 1213 (Время ожидания блокировки / взаимоблокировка)
      • 1062 (Дублирующая запись для ОСНОВНОГО ключа)
  • Многоэтапное выполнение восстановления:
    • Этап 1: Выполняет УСЕЧЕНИЕ таблицы xf_session_activity, чтобы мгновенно освободить оперативную память или дисковое хранилище.
    • Этап 2: если таблица повреждена, перед усечением автоматически выполняется команда REPAIR TABLE / OPTIMIZE TABLE.
    • Этап 3: если разрешения на усечение DDL ограничены, выполняется команда DELETE FROM xf_session_activity.
  • Прозрачная автоматическая повторная попытка: автоматическая повторная попытка выполнения исходного запроса сразу после восстановления. Посетители никогда не видят страницу с ошибкой.
  • Записи об активности в сеансе представляют собой временное состояние просмотра («Кто просматривает эту тему»). Они содержат ноль критически важных транзакционных данных (аутентификация пользователя надежно изолирована в xf_session).
  • Если аппаратное обеспечение сервера или диск продолжают работать со сбоями, механизм проглатывания ошибок предотвращает распространение исключения. Ваш форум остается доступным на 100 % без фатальных ошибок 500 для посетителей.
  • Встроенное ограничение по времени (минимальное окно между автоматическими усечениями — 5 секунд). Предотвращает перегрузку пулов соединений с базой данных, если на сервере базы данных возникают проблемы с диском или квотами на системном уровне.
Находится по адресу Admin CP > Инструменты > [FX] Session Mod (admin.php?fx-session-mod/):
  • Состояние таблиц в реальном времени и телеметрия:
    • Текущий механизм хранения (MEMORY или InnoDB).
    • Общее точное количество строк.
    • Размер отформатированных данных, размер индекса и общий объем.
    • Параметры сортировки таблицы и формат строк.
    • При использовании MEMORY: отображается ограничение max_heap_table_size, а также процент использования памяти в реальном времени и визуальные баннеры с предупреждениями.
  • История восстановления после инцидента:
    • Общее количество автоматических восстановительных вмешательств.
    • Временная метка последнего автоматического восстановления.
    • Отформатированная трассировка и сообщение о последней зафиксированной ошибке.
    • Кнопка сброса статистики.
  • Инструменты обслуживания в 1 клик:
    • Очистить таблицу (TRUNCATE): вручную сбросить активность сеанса в 1 клик.
    • Проверить и восстановить таблицу (REPAIR): вручную запустить восстановление/оптимизацию таблицы MySQL.
    • Переключить механизм хранения: легко переключайтесь между MEMORY (самая высокая производительность оперативной памяти) и InnoDB (безопасный механизм с дисковым хранилищем без ограничений по объему памяти) без использования консолей SQL.
  • автоматически запускается каждый час для поддержания работоспособности таблицы:
    • Max Rows Pruning: автоматически удаляет записи, если количество строк превышает установленный вами предел безопасности (fxSessionMod_maxRows).
    • Proactive Memory Evacuation: если таблица использует механизм MEMORY и использование памяти достигает 90%, надстройка проактивно очищает таблицу до того, как может возникнуть ошибка MySQL 1114.

Перейдите в Admin CP > Настройка > Параметры > [FX] Session Mod (admin.php?options/groups/fxSessionMod/):

НастройкаПо умолчаниюОписаниеРекомендуется
Автоматическое удаление данных из таблицы при ошибке
fxSessionMod_autoEmpty
ВключеноАвтоматически удаляет данные из таблицы xf_session_activity при возникновении исключения в базе данных.Включено
Автоматическое восстановление таблицы
fxSessionMod_autoRepair
ВключеноПопытка выполнить команду REPAIR TABLE перед удалением данных, если обнаружена ошибка в таблице.Включено
Предотвращение сбоев в работе форума (проглатывание ошибок)
fxSessionMod_swallowErrors
ВключеноПодавляет отображение страниц с ошибкой 500 при возникновении неразрешимых ошибок активности сеанса.Включено
Запись в журнал ошибок сервера
fxSessionMod_logError
ВключеноПри каждом запуске восстановления создает запись в журнале административных ошибок сервера с подробной информацией об ошибке.Включено
Максимальное количество строк
fxSessionMod_maxRows
0Запускает автоматическое усечение во время cron, если количество строк превышает это число.Установите значение 0, чтобы отключить эту функцию.0 (или 50000 для большого трафика)

Коэффициент сравненияМеханизм MEMORY (HEAP)Механизм InnoDB
Место храненияСистемная оперативная памятьДиск / буферный пул
Производительность записиОчень высокаяВысокая (при дисковом вводе-выводе)
Ограничение емкостиОграничено параметром max_heap_table_sizeПрактически не ограничено
Режим сбояВыдает ошибку 1114 (таблица заполнена)Более медленная запись на диск при высокой нагрузке
РекомендацииИдеально подходит для обеспечения высокой производительности в сочетании с [FX] Session ModИдеально подходит для стабильной работы без настройки памяти
[!СОВЕТ] При активной функции [FX] Session Mod вы можете без опасений использовать движок MEMORY для максимальной скорости, не беспокоясь о сбоях в работе сайта, поскольку дополнение автоматически обрабатывает и очищает таблицу в ту же миллисекунду, когда возникает ошибка!

  • XenForo: 2.2.0 или выше (совместимо с XenForo 2.3.x).
  • PHP: 7.4.0 или выше (полностью поддерживается PHP 8.0, 8.1, 8.2, 8.3).
  • База данных: MySQL 5.7+ / MariaDB 10.3+.

  1. Перейдите в Admin CP> Дополнения.
  2. Нажмите Установить / обновить из архива.
  3. Выберите пакет FX-SessionMod-1.0.0.zip и нажмите Загрузить.
  4. Подтвердите получение подсказок по установке.
  1. Загрузите каталог FX/SessionMod на свой веб-сервер по адресу:
    <web_root>/src/addons/FX/SessionMod
  2. Перейдите в Admin CP > Дополнения и нажмите Установить в разделе [FX] Session Mod.
В корневом каталоге XenForo выполните следующую команду:

php cmd.php xf:addon-install FX/SessionMod
  • Capture3.webp
    Capture3.webp
    28,7 КБ · Просмотры: 0
  • Capture2.webp
    Capture2.webp
    22,1 КБ · Просмотры: 0
  • Capture.webp
    Capture.webp
    40 КБ · Просмотры: 0

Похожие ресурсы

[OzzModz] Email Staff When New Post/Thread In Mod Queue XenBaza
Позволяет отправлять оповещение о модерации контента.
Скачивания
0
Обновлено
Назад
Сверху Снизу