Ситуация следующая: планируется сервер-координатор, нагрузка которого будет ~1 посещение в секунду. Необходим быстрый отклик.
Каждый клиент будет отправлять данные, которые должны видеть остальные клиенты. Что лучше?
1. Записывать полученные данные в новый файл (для каждых данных - новый файл)
2. Дописывать полученные данные в один файл
3. 1 + 2
4. Хранить данные в бд.
Актуальность данных не превышает одной минуты.
Размер - одного байта.
Так же еще один вопрос: с точки зрения сервера продуктивнее всего хранить эти данные в оперативной памяти. Возможно ли это средствами apache + php?
Насколько я понял (я недавно начал изучать php) сессии сохраняются в файлах. Один коннект - новое чтение файла? Или сессии так же сохраняются в ОП?
Если да, то можно сделать одну сессию на нескольких клиентов? ИМХО это было бы лучшим вариантом - все-таки ежесекундное открытие/закрытие файла сказывается на простых винчестерах не лучшим образом.
Заранее всем спасибо
Спустя 9 минут, 21 секунда (22.05.2010 - 00:19) FatCat написал(а):
Цитата (alexxswx @ 22.05.2010 - 01:10) |
~1 посещение в секунду |
Цитата (alexxswx @ 22.05.2010 - 01:10) |
Актуальность данных не превышает одной минуты. |
На такой загрузке и на таких объемах наверное лучше на файлах, тогда и совсем дохлый шаред справится.
Если нагрузка будет выше на 3-4 порядка или число файлов будет свыше нескольких тысяч - тогда конечно БД.
Для сравнения нагрузок. Этот форум:

Средняя нагрузка 150 хитоа в минуту, пиковая нагрузка в вечерние часы до 2500 хитов в минуту; среднее число запросов к БД при генерации каждой страницы - 14.
Пока справляется шаред. И впятеро больше нагрузку будет держать шаред.
Спустя 1 день, 15 часов, 59 минут, 27 секунд (23.05.2010 - 16:18) theos написал(а):
ну вообще то КЭШ никто не отменял даже при чтении из файлов
описанный вами вариант обращений не создаст нагрузки на сервер вобще никакой и можно реализовать любым способом
присоединяюсь к предыдущему посту и тоже советую работать с БД
описанный вами вариант обращений не создаст нагрузки на сервер вобще никакой и можно реализовать любым способом
присоединяюсь к предыдущему посту и тоже советую работать с БД