2014-01-06 7 views
0

У меня есть интранет-система на основе Joomla 1.5. Пользовательская нагрузка на эту систему варьируется между 100-6 тыс. Мы настроили эту систему много и только с использованием функциональных возможностей Joomla. Я знаю, что Joomla 1.5 устарела и нуждается в обновлении до более новой версии или не менее 1.5.26. Но мы модернизировали PHP и apache и управляли уязвимостями безопасности. Таким образом, обновление Joomla не является проблемой в этом вопросе.Множественная вставка/обновление в таблице сеансов Joomla

Мы видели, что Joomla использует таблицу jos_session для управления сеансом в приложении. Обновление запроса выполняется в таблице jos_session при каждом щелчке каждого пользователя. Из-за этого я вижу, что выполняется запрос на множественный ввод (для нового сеанса) обновления (update timestamp) на jos_session.

  • Есть ли какие-либо конкретные причины, почему Joomla это делает?
  • Есть ли лучшее альтернативное решение, чтобы избавиться от множественной вставки/обновления на одной таблице?

ответ

1

Joomla реализует собственное пользовательское управление сеансом (вместо того, чтобы использовать тот, который предоставляется PHP). И управление сеансом осуществляется через таблицу базы данных.

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

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

В Joomla задней части: сайта -> Global Configuration -> Система вы можете установить обработчик сеансов на «None», и это не будет использовать базу данных, и он будет использовать по умолчанию PHP сессий. Однако не все рекомендуют вам это делать. Вы можете сделать свои собственные тесты и посмотреть, что лучше для вас.

Конечно, убедитесь, что у вас есть резервная копия для своего сайта, прежде чем начинать тесты с настройками.

+0

Можете ли вы поделиться информацией о том, как PHP будет поддерживать сеанс? – ursitesion

+0

Несомненно. PHP по умолчанию сохраняет данные сеанса в файлах на диске. Вот что говорится в документации: [link] (http://www.php.net/manual/en/session.installation.php) –

+0

Спасибо. +1 голос за предоставленную информацию, касающуюся «нет». – ursitesion

Смежные вопросы