|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.02.2014, 21:49 | #1 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Каким способом организовать разграничение по времени для уменьшения пиковой нагрузки
Такой вопрос.
Допустим каждые 20 секунд происходит ход браузерной многопользовательской рпг/стратегии. Соответственно основная нагрузка будет в пике именно вблизи каждыйх 20 секунд. Если не считать критичной задержку в выдачи новой информации о следующем ходя в 1 секунду, то как разбить всех игроков по времени обращения запроса на сервер в пределах 1 секунды? То есть задача такова: Например имеется 100 игроков онлайн. Делим 1 секунду на 100 игроков получаем примерную цифру изменения шага относительно 20 секунд запуска запроса к серверу. То есть 1 игрок 20 сек второй 20 и 1/100 сек третий 20 и 2/200 сек. Я конечно понимаю что на сервер запрос придет непонятно в какое время изза расстояния и самой сети от клиента к серверу, но всеравно вероятность что они придут почти все в 20 секунд сильно уменьшается. соответственно и пиковая нагрузка. При всем этом нужно учитывать что число онлайн игроков меняется и нужно изменять этот шаг. Как можно организовать такую структуру и вообще стоит ли ее делать? |
26.02.2014, 11:23 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,355
|
Запускаете таймер и каждую секунду обновляете статус следующих Х игроков и отсылаете им их состояние. Что, по сути, означает "происходит ход" - меняется какое-то состояние игрока - нет смысла вычислять это состояние заранее, а только когда оно реально потребуется.
|
26.02.2014, 21:47 | #3 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Забейте - ваш способ бесполезен. У Вас будет работать так же как и при повышенной нагрузке.
В вашем случае лучше всего провести оптимизацию времени, т.е. делать запросы не в 20 секунд, а в 30 (как пример) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Каким образом лучше организовать вывод графики? | M0rf | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 04.12.2012 14:34 |
Каким способом имитировать игру ? | kakawkin | Работа с сетью в Delphi | 9 | 30.07.2012 15:35 |
Каким способом решить задачу? | hammer68 | Microsoft Office Access | 2 | 22.12.2011 19:20 |
каким способом сделат... | kenta | БД в Delphi | 9 | 01.11.2009 09:07 |
Каким способом мне это написать? | FromHell | Помощь студентам | 2 | 17.12.2008 07:57 |