Помогите с такой неоднозначной проблемой.
В php.ini настроил что бы сессия сохранялась в течении 10 минут.
в js коде написал что бы с интервалом в 9 минут делался запрос на тех страницу для того что бы сессия продлевалась.
В итоге в какой то момент запрос в js коде подвисает, то есть не получает ответа и сессия умирает.
Интервал времени не имеет значения проверял на 20 секундах и на 20 минутах время жизни сессии, в течении 1-4 часов сессия сдыхает.
В чём может быть косяк ?
на VDS под управлением ispmaneger развёрнуто всё.
это нужно для того что бы человек который пишет сообщение более 10 минут не выпадал из сессии, так как сайт в основном на ajax , страница может в принципе не обновляться и не делать каких либо запросов , но при этом пользователь работает с содержимым, работа может занимать от 5 минут до 1 часа, очень критично что бы время жизни сессии не было продолжительным более 10 минут из за вопросов безопасности.
вопрос актуален , беда в том что проблему ещё сложно обнаружить , может кто посоветует как можно посмотреть нагрузку на VDS ?
Или как отследить активность по сессиям ?
Некоторое пояснения по проблеме что было проверенно и какие могут быть проблемы
1. Очистка сессий может осуществляться сборщиком или же скриптом севера по заданному таймеру в определённый момент времени. (Может встречаться на провайдерах хостинга )
2. Не настроен сборщик мусора . (сессии просто не умирают)
3. время жизни кук 0 , из за этого сессия умрёт при закрытии браузера , хотя сессия ещё должна быть живой. (сейчас проверяю этот вариант, так как возможно в браузерах есть очистка вот таких сессий по какому нибудь интервалу времени в сутки или меньше)
4. потеря запросов к серверу , в мом случае потеря запроса и его ожидание может растянутся на несколько минут , в итоге интервал между запросами растягивается на время задержки и в этом случае у меня не успеет запрос придти на сервер прежде чем сессия удаляется с сервера.
может ли это как то связано быть со сборщиком мусора ? из за того что он не запускается из за этого страдает запись файлов на VDS в результате чего файл сессии просто записывается с 0 байт и в итоге сессия разрывается ?
IIISpikerIII: при запросе ini_get('session.gc_maxlifetime') выдает нужно значение но вот при запросе session.gc_divisor мне выдало false , то ест сборщик мусора не работал, хоть сессия уже и не должна была жить , в результате я видел что файлы сессий на сервере продолжали обновляться. может из за этого беда была, посмотрю сейчас на секундных интервалах.
так старые сессии исчезли , сборщик мусора не работал , попробуем завтра посмотреть что будет под нагрузкой , пока не замечено разрывов , сессии дохнут но правда если к серверу есть запросы , сейчас нет активности все спят , завтра проверим. IIISpikerIII: благодарю за наводку .