phpbb_sessions

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

phpbb_sessions

Сообщение Profforg »

Здравствуйте.


В сессиях часто полезно держать её максимальное количество времени для авторизованных пользователей. При этом для гостей сессии должны быть как можно короче.

Но в phpbb я не вижу возможности так сделать. Суммарная посещаемость сайта 1000 человек. Больше 100 онлайн не бывает. При этом в phpbb_sessions больше 200,000 записей. Я проанализировал эту таблицу и не вижу каких-либо отличий в сессиях для гостей и для авторизованных.

Есть ли какая-то возможность отделить сессии авторизованных пользователей и сессии гостей? Чтобы удалить только гостевые сессии.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: phpbb_sessions

Сообщение Sheer »

Код: Выделить всё

DELETE  FROM `phpbb_sessions` WHERE `session_user_id` = 1
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

Sheer писал(а):

Код: Выделить всё

DELETE  FROM `phpbb_sessions` WHERE `session_user_id` = 1
Это понятно. Но как удалить все сессии ГОСТЕЙ? У гостей ведь нет user_id... Но в таблице по какой-то странной причине "session_user_id" не бывает пуст) Т.е. запросы на подобии

Код: Выделить всё

SELECT * FROM `phpbb_sessions` WHERE `session_user_id` = ' '
SELECT * FROM `phpbb_sessions` WHERE `session_user_id` = ''
SELECT * FROM `phpbb_sessions` WHERE `session_user_id` = '0'
Возвращают 0 результатов. Чего-то я недопонимаю.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: phpbb_sessions

Сообщение Sheer »

Profforg писал(а):У гостей ведь нет user_id
Ндя? Взгляните на таблицу users. У кого там user_id равно единичке?

Код: Выделить всё

SELECT username  FROM `phpbb_users` WHERE `user_id` = 1
И хто эта за зверь такой, Anonymous ? Ать его...

Добавлено спустя 56 секунд:
Profforg писал(а):Чего-то я недопонимаю
Этт точно :D
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

Sheer писал(а):Ндя? Взгляните на таблицу users. У кого там user_id равно единичке?
Ступил, извиняюсь. Привык, что гости отображаются как гости, а не как зарегистрированные)

-230,000 записей :) Good :)
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: phpbb_sessions

Сообщение Пчелкин »

НЕ врублюсь, а что напрягает заполнение БД статом от гостей?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

Пчелкин писал(а):НЕ врублюсь, а что напрягает заполнение БД статом от гостей?
Нагрузка от этого. Без гостей, там 100 записей и это нагрузки никакой не создаёт. А с гостями когда сервер нагружен, выборка данных из этой таблицы занимает больше 5 секунд (>200,000 записей). С < 100 записями - миллисекунды. (там сервер на 100% нагружен просто)
Индексы есть, тип базы InnoDB, сервер маленький.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: phpbb_sessions

Сообщение Пчелкин »

Аааа...понятно... Надо решаться на что-то посерьезней...чего так форум ограничивать.. При том на таких пустяках...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а): с гостями когда сервер нагружен, выборка данных из этой таблицы занимает больше 5 секунд
Точно выборка? У меня вставка на InnoDB работал медленнее, чем на MyISAM, но чтобы чтение тормозило...
phpBBex
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: phpbb_sessions

Сообщение nissin »

xisp писал(а):У меня вставка на InnoDB работал медленнее, чем на MyISAM
Решается настройками в my.ini

Код: Выделить всё

innodb_file_per_table	= 1
innodb_change_buffering	= all
innodb_flush_log_at_trx_commit = 0
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

nissin писал(а):Решается настройками в my.ini
Был бы у меня туда доступ...
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):
Profforg писал(а): с гостями когда сервер нагружен, выборка данных из этой таблицы занимает больше 5 секунд
Точно выборка? У меня вставка на InnoDB работал медленнее, чем на MyISAM, но чтобы чтение тормозило...
Точно. Вставки вряд ли работает медленнее, но я её по крайней мере не видел в висящих по долгу запросах.
Самый тяжелый такой. При 200,000 записях в таблице и больше в среднем выполняется 10 секунд. Максимум - 50 секунд.

Код: Выделить всё

SELECT 
  COUNT(session_id) AS sessions 
FROM 
  phpbb_sessions 
WHERE 
  session_user_id = 1 
  AND session_time >= -741533032
Тоже тяжелый, но выполняется в среднем за 1 секунду. Максимум - 30 секунд.

Код: Выделить всё

SELECT 
  COUNT(DISTINCT s.session_ip) as num_guests 
FROM 
  phpbb_sessions s 
WHERE 
  s.session_user_id = 1 
  AND s.session_time >= 1405938660
Пчелкин писал(а):Аааа...понятно... Надо решаться на что-то посерьезней...чего так форум ограничивать.. При том на таких пустяках...
Незнаю пустяк ли. Кроме сессий вообще нагрузки нет от форума. По-моему надо сделать возможность не считать гостей (не писать в таблицу сессий), если это не поисковая система; а то ведь от флуда будет лежать форум.
Вообще сервер не для сайтов предназначен, ещё много чего там размещено. Переезд уже готовиться, но пока нужно временное решение, которым и является удаление гостевых сессий по крону.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):AND session_time >= -741533032
Время? Отрицательное? Где- то ошибка, по моему. Какая длинна сессии и "время жизни формы" в настройках?
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):Время? Отрицательное? Где- то ошибка, по моему. Какая длинна сессии и "время жизни формы" в настройках?
Я не уверен на счёт того, что знак минуса значит в этом MySQL выражения, но кажется это значит "текущее вычесть 741533032".

Длина сессии в PHP - session.cache_expire = 999999999999

"Длительность сессии" в настройках phpbb (нагрузка на сервер) установлена в 2147483647 (максимум для 32-битной ОС)

Незнаю где посмотреть "время жизни формы", не вижу такого в настройках.

Время действия автоматического входа (дней): 0 (без лимита)

Время действия для попыток входа с IP адреса: 21600 секунд

Максимальное время для отправки формы: 60000 секунд

Временной диапазон онлайн-статистики: 200 минут
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):"Длительность сессии" в настройках phpbb (нагрузка на сервер) установлена в 2147483647 (максимум для 32-битной ОС)
Ну вот и виновник. Сами всё сломали. Возвращайте стандартное значение 3600, или около того.
Из- за этой настройки у вас автоматически не чистились сессии гостей, таблица засорялась и всё тормозило.
Profforg писал(а):Максимальное время для отправки формы: 60000 секунд
Оно и есть время жизни формы. Тоже верните назад, 7200.
Profforg писал(а):Временной диапазон онлайн-статистики: 200 минут
Вообще дичайщий тормоз для запроса. Оставьте минут 5-10.

И да, не трогайте настройки, если не понимаете всех последствий. Форум из коробки настроен достаточно хорошо под большинство конфигураций.

Добавлено спустя 1 минуту 34 секунды:
Profforg писал(а): Длина сессии в PHP - session.cache_expire = 999999999999
Тоже лучше поуменьшить, иначе папка кеша забьётся, а на сотнях тысяч файлов в папкепочти любая ФС будет тормозить, тормозя работу всего форума.
phpBBex

Вернуться в «Поддержка phpBB 3.0.х»