10 000 запросов в секунду!

12
ebitok
На сайте с 07.11.2011
Offline
112
3150

Народ, подскажите плиз!

Чисто теоретически, какой железо выдержит такую игру:

10 000 онлайн пользователь в игре (1000 комнат(локаций) в каждой по 10 игроков), пользователи на дескопных клиентах.

каждый пользователь раз в секунду делает запрос На скрипт site.ru/check/ ,этот скрипт возвращает цифру 0 или 1 , которая говорит нам о том, были ли изменния в поведении персонажа или нет

если вернули 0, то повторяем запрос через секунду, если вернули 1, то выкачиваем массив данных с изменениями пользователя: {1231,14214,214,1,4,21,4,1231,1}

изменения будут проходить, 300 раз в 5 секунд

Одна локация это

select status from room where location_id =1 (возвращает 10 строк либо меньше)

т.е. простейшие запросы

Может у кого-нибудь есть что-то типа бенчмарков? не смог найти для VPS и выделенных серверов:(

A
На сайте с 03.06.2011
Offline
29
#1

К сожалению Вы не указали на чем будет работать серверная часть игры.

Если ее правильно написать (например nodejs + memcache/redis) то вполне достаточно среднего сервера с 8 - 16 Gb оперативки. Для apache + modphp + mysql никакого не хватит.

Тест производительности - http://httpd.apache.org/docs/2.2/programs/ab.html

Artisan
На сайте с 04.03.2005
Offline
371
#2
ebitok:
10 000 запросов в секунду!

Чисто теоретически, какой железо выдержит такую игру:

10 000 онлайн пользователь в игре
(1000 комнат(локаций) в каждой по 10 игроков),
пользователи на дескопных клиентах.

каждый пользователь раз в секунду делает запрос

Чисто практически,

проще распределять

на много машин.

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
AU
На сайте с 03.09.2009
Offline
88
#3

Для бенчмарков можно использовать jmeter. Можете почитать статью у нас на сайте http://10serv.com/nagruzochnoe-testirovanie-web-sayta/. Если нужна практическая помощь - регистрируйтесь, ставьте тикет, поможем.

Unix в вопросах и ответах https://unixhow.com (https://unixhow.com)
Andreyka
На сайте с 19.02.2005
Offline
822
#4

Пишите свой сервер на сях с опцией горизонтального масштабирования

Не стоит плодить сущности без необходимости
AR
На сайте с 24.08.2012
Offline
33
#5

Может быть скажу глупость, но не проще ли будет, если сервер будет сразу информировать десктопного клиента о новом событии, без чекания каждую секунду?

Зачем дергать сервер каждый раз, это же не браузерная игра.

Artisan
На сайте с 04.03.2005
Offline
371
#6
andrei_ra:
Может быть скажу глупость, но не проще ли будет, если сервер будет сразу информировать десктопного клиента о новом событии, без чекания каждую секунду? Зачем дергать сервер каждый раз, это же не браузерная игра.

Сложно сказать,

что будет проще.

Не всегда можно обратиться обратно к

клиенту через прокси и другие сложности.

Держать открытыми 10 тысяч

соединений тоже не подарок.

lealhost
На сайте с 07.06.2014
Offline
136
#7
andrei_ra:
Может быть скажу глупость, но не проще ли будет, если сервер будет сразу информировать десктопного клиента о новом событии, без чекания каждую секунду?
Зачем дергать сервер каждый раз, это же не браузерная игра.

Согласен, лучше написать демон, который вместо десяти тысяч раз, будет чекать лишь раз в секунду и отдавать клиентам данные. :)

ebitok
На сайте с 07.11.2011
Offline
112
#8
(например nodejs + memcache/redis) то вполне достаточно среднего сервера с 8 - 16 Gb оперативки.

черт никак не могу определиться на чем писать!

кто-то горит что Java очень слаба, все советуют c# и C++.

он реально быстрей?

и какая БД лучше подойдет!

подскажите плиз)

с++ сразу нет, не потяну синтаксис)

MI
На сайте с 16.07.2008
Offline
74
#9

Посмотри ещё erlang

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Да, реально быстрее, с другой стороны под java есть hadoop

База не sql, с возможностью масштабирования, например mongodb

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий