phpbb_sessions
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Profforg
- phpBB 1.4.2
- Сообщения: 51
- Стаж: 13 лет 11 месяцев
- Откуда: Москва
- Благодарил (а): 1 раз
phpbb_sessions
Здравствуйте.
В сессиях часто полезно держать её максимальное количество времени для авторизованных пользователей. При этом для гостей сессии должны быть как можно короче.
Но в phpbb я не вижу возможности так сделать. Суммарная посещаемость сайта 1000 человек. Больше 100 онлайн не бывает. При этом в phpbb_sessions больше 200,000 записей. Я проанализировал эту таблицу и не вижу каких-либо отличий в сессиях для гостей и для авторизованных.
Есть ли какая-то возможность отделить сессии авторизованных пользователей и сессии гостей? Чтобы удалить только гостевые сессии.
В сессиях часто полезно держать её максимальное количество времени для авторизованных пользователей. При этом для гостей сессии должны быть как можно короче.
Но в phpbb я не вижу возможности так сделать. Суммарная посещаемость сайта 1000 человек. Больше 100 онлайн не бывает. При этом в phpbb_sessions больше 200,000 записей. Я проанализировал эту таблицу и не вижу каких-либо отличий в сессиях для гостей и для авторизованных.
Есть ли какая-то возможность отделить сессии авторизованных пользователей и сессии гостей? Чтобы удалить только гостевые сессии.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: phpbb_sessions
Код: Выделить всё
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
Это понятно. Но как удалить все сессии ГОСТЕЙ? У гостей ведь нет user_id... Но в таблице по какой-то странной причине "session_user_id" не бывает пуст) Т.е. запросы на подобииSheer писал(а):Код: Выделить всё
DELETE FROM `phpbb_sessions` WHERE `session_user_id` = 1
Код: Выделить всё
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'-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: phpbb_sessions
Ндя? Взгляните на таблицуProfforg писал(а):У гостей ведь нет user_id
users. У кого там user_id равно единичке?
Код: Выделить всё
SELECT username FROM `phpbb_users` WHERE `user_id` = 1Добавлено спустя 56 секунд:
Этт точноProfforg писал(а):Чего-то я недопонимаю
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Profforg
- phpBB 1.4.2
- Сообщения: 51
- Стаж: 13 лет 11 месяцев
- Откуда: Москва
- Благодарил (а): 1 раз
Re: phpbb_sessions
Ступил, извиняюсь. Привык, что гости отображаются как гости, а не как зарегистрированные)Sheer писал(а):Ндя? Взгляните на таблицу users. У кого там user_id равно единичке?
-230,000 записей
-
Пчелкин
- 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
Нагрузка от этого. Без гостей, там 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
Точно выборка? У меня вставка на InnoDB работал медленнее, чем на MyISAM, но чтобы чтение тормозило...Profforg писал(а): с гостями когда сервер нагружен, выборка данных из этой таблицы занимает больше 5 секунд
phpBBex
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: phpbb_sessions
Решается настройками в my.inixisp писал(а):У меня вставка на InnoDB работал медленнее, чем на MyISAM
Код: Выделить всё
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
Был бы у меня туда доступ...nissin писал(а):Решается настройками в my.ini
phpBBex
-
Profforg
- phpBB 1.4.2
- Сообщения: 51
- Стаж: 13 лет 11 месяцев
- Откуда: Москва
- Благодарил (а): 1 раз
Re: phpbb_sessions
Точно. Вставки вряд ли работает медленнее, но я её по крайней мере не видел в висящих по долгу запросах.xisp писал(а):Точно выборка? У меня вставка на InnoDB работал медленнее, чем на MyISAM, но чтобы чтение тормозило...Profforg писал(а): с гостями когда сервер нагружен, выборка данных из этой таблицы занимает больше 5 секунд
Самый тяжелый такой. При 200,000 записях в таблице и больше в среднем выполняется 10 секунд. Максимум - 50 секунд.
Код: Выделить всё
SELECT
COUNT(session_id) AS sessions
FROM
phpbb_sessions
WHERE
session_user_id = 1
AND session_time >= -741533032Код: Выделить всё
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
Время? Отрицательное? Где- то ошибка, по моему. Какая длинна сессии и "время жизни формы" в настройках?Profforg писал(а):AND session_time >= -741533032
phpBBex
-
Profforg
- phpBB 1.4.2
- Сообщения: 51
- Стаж: 13 лет 11 месяцев
- Откуда: Москва
- Благодарил (а): 1 раз
Re: phpbb_sessions
Я не уверен на счёт того, что знак минуса значит в этом MySQL выражения, но кажется это значит "текущее вычесть 741533032".xisp писал(а):Время? Отрицательное? Где- то ошибка, по моему. Какая длинна сессии и "время жизни формы" в настройках?
Длина сессии в 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
Ну вот и виновник. Сами всё сломали. Возвращайте стандартное значение 3600, или около того.Profforg писал(а):"Длительность сессии" в настройках phpbb (нагрузка на сервер) установлена в 2147483647 (максимум для 32-битной ОС)
Из- за этой настройки у вас автоматически не чистились сессии гостей, таблица засорялась и всё тормозило.
Оно и есть время жизни формы. Тоже верните назад, 7200.Profforg писал(а):Максимальное время для отправки формы: 60000 секунд
Вообще дичайщий тормоз для запроса. Оставьте минут 5-10.Profforg писал(а):Временной диапазон онлайн-статистики: 200 минут
И да, не трогайте настройки, если не понимаете всех последствий. Форум из коробки настроен достаточно хорошо под большинство конфигураций.
Добавлено спустя 1 минуту 34 секунды:
Тоже лучше поуменьшить, иначе папка кеша забьётся, а на сотнях тысяч файлов в папкепочти любая ФС будет тормозить, тормозя работу всего форума.Profforg писал(а): Длина сессии в PHP - session.cache_expire = 999999999999
phpBBex

