Xwab
Форумыnavigate_nextПрограммирование на PHP

Небольшая нагрузка на мозг[PHP и прочее]
Сообщения
DarveL

Вот вам интересная задачка.
Возьмем высоконагруженное приложение.
Онлайн постоянный ~50к это уйма запросов в секунду.
Задачка заключается в том, чтобы отследить онлайн пользователя(on/off в текущее время), также нужно взаимодействие со счетчиком времени в онлайн(в счетчик суммируют время проведенное пользователем на сайте), также вызов списка например друзей онлайн.
Нестандартный вариант сможете придумать?))
Нельзя дергать базу при каждом запросе пользователя(только в ракурсе текущей задачи).
Т.е. при решении задачи нужно учесть что не при каждом запросе вам можно использовать бд

24 Апр 2011, 20:26
oee

А что за приложение?
Если на сайте, то сессии можно задействовать...

24 Апр 2011, 20:36
DarveL

oee, абсолютно любое.
Не в этом суть.
Интересно посмотреть варианты реализации.
Само собой сессии+куки+мат.расчет

24 Апр 2011, 20:39
xits

DarveL, а что если записать в memcache и через крон каждые пол часа обновить саму базу?

24 Апр 2011, 20:51
oee

а да, сессий мало будет.. Тогда файлы или база больше вариантов нет
Помощнее сервер (несколько серверов), побольше памяти, побольше места
Проект с таким онлайном должен это все окупать)

24 Апр 2011, 20:55
Fresh

хз Первый крендель который пришёл в голову,
апдейдить онлайн только в чётные/нечётные секунды/минуты.

24 Апр 2011, 21:09
DarveL

Это абстрактная задача)
#4 а как онлайн список других будешь смотреть)
#6 как вариант возможно найти не именно четное/нечетное а определенные моменты таймера.

24 Апр 2011, 21:14
Fresh

или куки вешать со следующим временем апдейда.

24 Апр 2011, 21:31
Mars

всё просто - nginx

location / {
   if (!-f $request_filename) {
      rewrite ^(.+)$ /online_update.php last;
   }
   access_log off;
   expires 15m;
}

варианты подгрузки самые различные - от банального вызова скриптом до добавления в качестве стиля пользователю (как css-файл допустим)

24 Апр 2011, 21:40
DarveL

Mars, доступа к серверу нет.

24 Апр 2011, 21:55
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.