|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.05.2011, 06:34 | #1 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
В каком виде хранить список он-лайн пользователей?
Проанализировал свой текущий проект и обнаружил проблему с хранением списка он-лайн пользователей.
Я использую таблицу MySQL типа Memory, в которой есть поля с данными о пользователе и поле времени последнего обновления. По полю времени последнего обновления Я удаляю "мёртвых" пользователей. Поле периодически запросом с клиента обновляется для сохранения корректности. Основная потеря времени происходит при обновлении данного поля. Хочу исправить данный недостаток, возможно поменять весь механизм. Отсюда вопрос: В каком виде лучше хранить список он-лайн пользователей? |
08.05.2011, 19:39 | #3 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
|
|
08.05.2011, 19:49 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
а распишите подробнее.... на чем теряете время?
|
08.05.2011, 20:15 | #5 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Навскидку - помнить, когда последний раз обновлялись данные пользователя и "прореживать" время апдейта, до, к примеру, 1 раз в минуту.
5 запросов/сек это уники ? А сколько уников в минуту, что интереснее ? Если есть существенная разница (т.е., к примеру, 60 а не 300) то в этом может быть смысл. |
08.05.2011, 23:29 | #6 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Пишу систему из расчёта 300 пользователей он-лайн. Основные потери (иногда 4/5 от всего времени) тратятся на обновление поля последнего времени обновления таблицы он-лайн пользователей. Обновляется поле каждую минуту.
... Всё понял причину тормозов. Хотел привести кусок кода и нашел ошибку в запросе. Всем спасибо. |
09.05.2011, 21:18 | #7 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Кстати если уж подняли тему, то действительно почему если есть возможность использовать memcached берете Mysql Memory таблицы. И вообще по опыту скажите может у кого какие проблемы были с этими временными таблицами? Лично я когда-то использовал их для одного проекта, но сильно напугал их размер, который они занимают в памяти (по сравнению с обычными) ... тем более вы хотите их использовать для онлайн юзеров ... ну есть у вас сейчас 300 пользователей, а вдруг в теории их окажется 1 000 - 10 000 .... не съедят всю память?)
|
10.05.2011, 08:17 | #8 | ||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Цитата:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Список пользователей организации | TheBoss | Microsoft Office Excel | 4 | 26.11.2010 12:28 |
Графы. Хранение хранить список смежностей как хеш-таблицу. Чем не идеал? | Kn793 | Свободное общение | 7 | 08.11.2010 17:55 |
В каком виде обрабатывать двоичные числа? | x8i | Общие вопросы C/C++ | 2 | 17.05.2009 15:12 |
в каком виде хранится иконка в Exe-файле? как её из него вытащить/заменить? | Holly1444 | Общие вопросы Delphi | 0 | 18.11.2006 13:56 |