В продолжение темы:
Для того чтобы разгрузить количество апдейтов к базе пользователей (которая может быть довольно большая) и как следствие увеличить максимальное количество зарегистрированных пользователей, мне надо сделать расчет статистики пользователя той что в постбите и в навбаре (типа ▲49.82 ГБ / 11.21 ГБ▼) не в реальном времени, а где-то раз в час.
Уже придумал как - стата будет засчитываться когда уникальный пир становится неактивным. Для обычного пользователя это будет задержка в отображении статы около часа - что совсем не критично, но основное неудобство будет у тех релизеров кто сидирует постоянно и без перерывов. У них эта активная стата обсчитается или если они перегрузят торрент клиент (при каждой загрузке торрент клиента генерится новый уникальный peer_id) или остановят раздачу на 1.5 часа.
Как вариант решения чтобы пользователь знал сколько именно у него реальная стата в моей кабинете или в профиле я могу сделать расширенную стату где пользователь сможет глянуть сколько именно у него аплоуда/даунлоада в последних сессиях активных раздач (т.е. эта расширенная стата только для самого пользователя и для модеров - всем остальным она нафиг не нужна).
Например это могло бы выглядеть так:
▲49.82 ГБ (+ 4ГБ в текущих)
11.21 ГБ▼ (+ 21.1ГБ в текущих)
Хотя в сообщениях все так-же будет отображаться
▲49.82 ГБ / 11.21 ГБ▼ пока пользователь или не остановит закачки/раздачи или не перегрузит торрент клиент.
Такой вариант сойдет?
Еще раз хочу сказать, что никакая стата не потеряется (будет считаться даже точнее чем раньше), только вопрос в том как она будет засчитываться не сразу, а по неактивности пира, а в случае некоторых релизеров, сидирующих 24/7 только после перезагрузки их торрент клиентов (т.к. их пиры активны постоянно).
Почему спрашиваю, потому что оптимизация - это хорошо, но не хочу испортить текущий функционал.
|