Re: Последняя дата входа
Добавлено: 02 июн 2023, 16:24
Как это настроить в Руководителе?
Предложения, сообщения об ошибках, помощь!
https://forum.rukovoditel.net.ru/
Как это настроить в Руководителе?
Не подскажите как вы реализовали обработчик. Как у вас работает руководитель с такой большой бд за 200 Гб?vaanes писал(а): 02 июн 2023, 07:02 Так как по бизнес процессу нету пользователей которые бы просто смотрели отчет то в нашем случае обошлись тем что повесили на items обработчик который по хождению пользователя по страницам обновляет активность.
А так как в движке есть фоновые процессы которые каждые 60 секунд запрашивают обновление разных отчетов то это создает давольно большую нагрузку если пользователь оставил вкладку в браузере и не выключив ушел домой, а решение по сбросу не активных пользователей на нашей базе за 200Гб дает хорошую экономию.
Из разных испробованных нами вариантов с учетом что приложение работает через балансировщик и пользователь может обращаться к одному из трех хостов, вариант с активностью нам больше зашел.
По поводу обработчика то на каждое посещение items обновляете время последней активности (которое например можете создать в сущности пользователей), далее отслеживаете это время и когда у пользователя время его НЕ активного состояния будет больше чем заданное время то выкидываете его по аналогии как механизм выкидывает всех режиме обслуживанияLozhkinda писал(а): 02 июн 2023, 16:30Не подскажите как вы реализовали обработчик. Как у вас работает руководитель с такой большой бд за 200 Гб?vaanes писал(а): 02 июн 2023, 07:02 Так как по бизнес процессу нету пользователей которые бы просто смотрели отчет то в нашем случае обошлись тем что повесили на items обработчик который по хождению пользователя по страницам обновляет активность.
А так как в движке есть фоновые процессы которые каждые 60 секунд запрашивают обновление разных отчетов то это создает давольно большую нагрузку если пользователь оставил вкладку в браузере и не выключив ушел домой, а решение по сбросу не активных пользователей на нашей базе за 200Гб дает хорошую экономию.
Ого, а что это у вас за проект такой с таким количеством пользователи? Справляется программа с такой нагрузкой?Была задача, есть более 1000 пользователей в разных часовых поясах и для снятия мусорной нагрузки нужно выбрасывать не активных пользователей спустя некоторое время.
Это исключительно внутренние порталы в компаниях у которых зачастую есть представительства по территории РФ а это разные часовые пояса и в пике больше 300-500 уникальных пользователей в онлайн не бывает, если говорить не о пиках а о среднем то прям активных пользователей которые активно работают с системой на протяжении всего рабочего дня 300-400 а еще есть 600-700 пользователей которые заходят каждый день систему по событию (когда пришло сообщение о назначенном действия) или периодически входя для выполнения разовых операций.support писал(а): 03 июн 2023, 20:59Ого, а что это у вас за проект такой с таким количеством пользователи? Справляется программа с такой нагрузкой?Была задача, есть более 1000 пользователей в разных часовых поясах и для снятия мусорной нагрузки нужно выбрасывать не активных пользователей спустя некоторое время.
Обратите внимание на страницу "Нагрузка на сервер", там можно закешировать отчеты, которые обновляется в верхнем меню. Это так же значительно снизит нагрузку на сервер.
vaanes писал(а): 02 июн 2023, 22:11По поводу обработчика то на каждое посещение items обновляете время последней активности (которое например можете создать в сущности пользователей), далее отслеживаете это время и когда у пользователя время его НЕ активного состояния будет больше чем заданное время то выкидываете его по аналогии как механизм выкидывает всех режиме обслуживанияLozhkinda писал(а): 02 июн 2023, 16:30Не подскажите как вы реализовали обработчик. Как у вас работает руководитель с такой большой бд за 200 Гб?vaanes писал(а): 02 июн 2023, 07:02 Так как по бизнес процессу нету пользователей которые бы просто смотрели отчет то в нашем случае обошлись тем что повесили на items обработчик который по хождению пользователя по страницам обновляет активность.
А так как в движке есть фоновые процессы которые каждые 60 секунд запрашивают обновление разных отчетов то это создает давольно большую нагрузку если пользователь оставил вкладку в браузере и не выключив ушел домой, а решение по сбросу не активных пользователей на нашей базе за 200Гб дает хорошую экономию.
Что касается объема то тут все прям очень индивидуально и на разных проектах зная что объем будет большой использовали разные подходы, но в целом это всегда тюнинг базы и индексов, оптимальное построение архитектуры и связей сущностей для больше производительности уже зная тонкие места такие как просчет видимости или до того момента когда поле выпадающая сущность не могло грузить порционно приходилось дописывать самим, так как у тебя 3-4 мл записей и тебе их нужно а ты из коробки не можешь так как по памяти отвалишься, в общем да такой объем вытягивает но не без труда
Lozhkinda писал(а): 05 июн 2023, 10:30 Вы создали новое поле, которое берет время из поля дата последнего входа и если оно больше какого-то лимита допустим 3 часов, то его выкидывает из системы. Не подскажите как реализовать выход пользователя из Руководителя в данном случае?