Хостинг нужен для пошаговой игры для iPhone - PullRequest
0 голосов
/ 15 июня 2011

Итак, я потратил некоторое время на разработку приложения для iPhone - это простая маленькая игра, которая похожа на «Слова с друзьями»:

1) пошаговая

2) связывается с API веб-службы для хранения «игровых данных» (ходы, информация о пользователе и т. Д.).

В моем случае я использую .NET MVC и серверную часть SQL Server для разработки API. Мы не говорим об огромном количестве данных здесь - маленькие изображения будут передаваться взад и вперед и сохраняться в базе данных. Типичный запрос будет видеть несколько записей, добавленных или измененных в базе данных.

У меня практически нет представления о том, когда что-то начнет перегружаться - конечно, меня беспокоит, что эта штука взлетает (явно желаемое за действительное), а затем мой сервер настолько перегружается, что умирает. При этом я не хочу тратить время и деньги на Windows Azure или что-то, когда мои потребности в хостинге могут быть совершенно тривиальными .

Итак, мой несколько общий вопрос: кто-нибудь знает из первых уст, когда вещи начинают перегружаться? Как ... просто общая оценка количества запросов или чего-то в течение определенного периода времени, при условии, что каждый запрос попадает в приложение .NET, которое затем попадает в базу данных разумное количество раз.

Даже какой-нибудь анекдотический «Мой похожий API срабатывает 10 000 раз в минуту и ​​размещается на паршивом виртуальном хостинге», было бы просто здорово, поэтому я получил некоторую концепцию.

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 15 июня 2011

Очень сложно дать хороший ответ на ваш вопрос, так как он сильно зависит от того, что именно сервер делает для каждого запроса.Даже «тривиальные» сервисы, которые вы описываете, могут легко сильно отличаться по производительности в зависимости от фактической реализации.

В качестве приблизительного ориентира, основанного на наших проектах, если ваш API представляет собой один HTTP-запрос (без HTTPS), то вы можете нажатьКонтроллер bare-bones, будучи преобразованным в одну простую инструкцию SQL («SELECT * FROM foo WHERE bar»), возвращающую менее 100 байт данных, позволяет обрабатывать около 750 запросов в минуту на 32-битном 1-гигагерцовом блоке с 512 МБоперативная память.

Но это число будет уменьшено до 75 или менее, если какой-либо из этих факторов возрастет.

То есть:

Этоплакат-кейс для облачных вычислений.Если Azure слишком хлопотен для вас (что не редкость для независимых разработчиков), у вас есть три основных варианта:

1) Отказ от .NET в пользу Python и хоста в Google AppДвижок

Python быстро осваивается, а GAE прекрасно масштабируется, и вам не нужно об этом заботиться.Более того, существует огромный бесплатный уровень, поэтому, если ваше приложение действительно не взлетит, вы не будете платить ни цента.Поскольку вы разрабатываете для iOS, я предполагаю, что вы не одержимы .NET для начала.

2) Если вам нужен .NET, перейдите с AWS

У них также есть довольно большой свободный уровень.Либо бросьте все поверх стека Mono (совершенно бесплатно в течение 1-го года), либо выложите деньги за экземпляр Windows EC2.Это требует больше планирования, чем GAE, но с небольшой работой вы можете масштабировать ее везде, куда идет ваше приложение.

Если вас беспокоит стоимость, используйте один и тот же кластер AWS для размещения нескольких API ваших приложений.

3) Используйте Многопользовательский API OpenFeint

OpenFeint поддерживает основные многопользовательские игры.Если вы можете реализовать необходимую функциональность с его помощью, то это может быть лучшим решением.Если нет, посмотрите на (1) и (2).

0 голосов
/ 15 июня 2011

Как долго кусок веревки?Все зависит от скорости хостинга и соединения..Net более чем способен обрабатывать большое количество запросов.Самое простое решение - это контролировать сервер (или, если вы не можете, отслеживать производительность ваших веб-сервисов) и получить лучший хостинг, если ваше приложение начинает страдать.

...