Статус онлайна пользователя

Здарвствуйте. Хочу реализовать статус онлайна пользователя.

Казалось бы -- всё просто, но я уверен, что всё куда сложнее.

Если каждую секунду каждый пользователь будет отправлять серверу "Я онлайн" -- боюсь это приведёт к спаму.

Допустим системой пользуется одновременно 5 000 человек -- каждую секунду будут отправляться на сервер 5 тысяч запросов только для того, чтобы сервер обработал статус онлайна пользователя, а это ж ещё и 5000 ответов нужно отправить.

Я решил понаблюдать за тем, как Телеграм реагирует на моё поведение, касательно онлайн статуса.

- когда я открываю приложение --> я появлюсь в онлайне;

- когда я закрываю приложение --> я пропадаю из онлайна;

- когда я отключаю интернет -- > я нахожусь 5 минут в онлайне, а после происходит автоматическое сбрасывание статуса "Онлайн" на "Оффлайн".

Мои предположения:

Я думаю, что когда я открываю Телеграм, он посылает запрос "Я онлайн", а когда я закрываю телеграм, он, -- "на последнем дыхании" -- посылает запрос "Я оффлайн". Каждые 5 минут сервер Телеграма как-будто просматривает: когда в последний раз у пользователя был запрос на сервер. Если запрос пользователя был 5 минут назад и больше не было никаких запросов -- переводит статус пользователя в "Оффлайн". Это значит, что вместо 5мин * 60сек = 300 запросов мне будет достаточно отправлять 1 запрос каждые, допустим, полторы, -- а то и две -- минуты, что значительно повысит производительность сервера.