Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Как оценить max количество пользователей, которое выдержит сервер в онлайн игре? (http://www.flasher.ru/forum/showthread.php?t=174556)

Андрей911 28.01.2012 10:59

Как оценить max количество пользователей, которое выдержит сервер в онлайн игре?
 
Пишем игру для Одноклассников. И новички в этом деле.
1) Подскажите как заранее можно оценить сколько народу выдержит сервер, какие параметры нужно оптимизировать в первую очередь?
2) Есть ли разница на каком языке написан скрипт на сервере если вычисления пустяковые, а основная задача скрипта получить и писать данные в БД?

Сейчас например написали скрипт на PHP, оцениваем время его работы так
PHP код:

function start_my_timer(){
    
$mtime microtime();
    
$mtime explode(' '$mtime);
    
$mtime $mtime[1] + $mtime[0];
    return 
$mtime;
    }
function 
get_my_timer($starttime){
    
$mtime microtime();
    
$mtime explode(" "$mtime);
    
$mtime $mtime[1] + $mtime[0];
    
$endtime $mtime;
    return (
$endtime $starttime);
    }
$starttime=start_my_timer();
...
основной код скрипта.....

$total_time=get_my_timer($starttime); 

$total_time получается 0.006 сек. Значит ли это что сервер сможет максимум обслужить 1/0.006=166 запросов в секунду в один потом. А если потоков всего 4, 4*166=664 запроса. Или это совсем не так считается?

Добавлено через 12 минут
В то время как из firebug получается следующая картинка.
[IMG]http://s018.***********/i510/1201/13/3d0049ca77d3.png[/IMG]

kackbip 28.01.2012 12:13

Нагрузочное тестирование проводится со стороны клиента без всяких трейсов в серверном коде. Делаешь легкий клиент, который эмулирует поведение заданного количества "усредненных" людей. Как только нагрузочный клиент начинает фиксировать значительные задержки или ответы становятся некорректными - это граница нагружаемости.

Если кажется, что сервер должен выдерживать гораздо большую нагрузку то проводят профилирование - определяют какая часть кода сколько времени выполняется. Сила сервера ограничена самым слабым звеном :) Это значит, что когда вы подходите к границе нагружаемости по данным профилирования вы должны видеть слабое звено.

Ну это так... мой скромный опыт.

Art_133 28.01.2012 15:24

Тоже интересует вопрос.
"Легкий клиент, который эмулирует поведение заданного количества "усредненных" людей" - это что, флешка которая отправляет одновременно большое количество запросов?

Андрей911 28.01.2012 18:36

Попробовал запустить тест в из флеши с клиента. Поставил 33 запроса к серверу в секунду. Ответы он выдает верные, но в firebug картинка поменялась на вот такую.
[IMG]http://s018.***********/i502/1201/dc/a847a0e4eaaf.png[/IMG]
Мне вот интересно блокировка вначале запроса почти в секунду это мой комп тормозит перед отправкой запроса или сервер начинает медленнее работать?

kackbip 30.01.2012 06:23

я бы попробовал сделать так. Увеличил бы число запросов в секунду до 100 :) И смотрел бы на накопление разницы между обработанными запросами и отправленными. На сервере для надежности можно вести лог с разницей между принятыми запросами и обработанными.
Если разница копится только на клиенте - проблема в сети либо клиенте.
Если разница копится на сервере - сервер не успевает.

Цитата:

это что, флешка которая отправляет одновременно большое количество запросов?
Абсолютно не имеет значения. Чем умеете отправлять запросы тем и отправляйте.


Часовой пояс GMT +4, время: 23:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.