@stas8

Как оценить системные требования для серверной части приложения?

Приветствую.
Пишу приложение. Серверная часть написана на Java, запускается на Tomcat. Использует MySQL базу данных, доступ с помощью Hibernate. С некоторым промежутком серверная часть выполняет запросы, смотрит несколько веб-сайтов на предмет обновления, парсит с них контент и сохраняет в БД. Это же приложение представляет собой RESTful сервис (на базе Jersey Rest), который отвечает на запросы клиентов приложения (под Android).
Вопрос: как оценить системные требования к VPS, где всё это дело будет работать? (кроме того, что учесть стандартные требования упомянутого выше ПО). Сейчас, пока этим никто не пользуется, ресурсов оно кушает мало, но как узнать, что будет, когда БД разрастется большим количеством записей, а приложением будут пользоваться 20 000 человек (макс. цифра из ТЗ)?
Смотрю на VX6 от Hetzner. Так же думаю над тем, чтобы разместить всё это дело на платформе Jelastic (понимаю, что это дороже, но плюс в том, что нужны меньшие затраты на развёртывание и поддержку). Что посоветуете?

(И да: я студент, можно сказать, это моё первое серьезное приложение с серверной частью. Поэтому, если у вас будут какие-то замечания или советы по поводу вышенаписанного, буду рад их услышать. Спасибо)
  • Вопрос задан
  • 3995 просмотров
Решения вопроса 1
DigitalSmile
@DigitalSmile
http://brainstorage.me/digitalsmile
Я бы Вам посоветовал разделить приложение, REST сервер и машину с БД (если все планировалось на одной машине).
Рекомендации по выбору железа для приложения я думаю Вам никто не даст, поскольку непонятно как написан код, насколько сложный парсинг и что под капотом у ресурсных методов Jersey. Можно так написать, что 12 ядерный ксеон с 32 гигабайтами не справится :)

С другой стороны у Jelastic вроде был тестовый демо период, можно попробовать развернуть и погонять на стресс тестировании, раз известно как будет использовано приложение.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@bobzer
Java EE Developer
Уже год мой софт работает в облаке. Взял Windows (да, я люблю графические интерфейсы и не знаю Linux) с 1ГБ памяти и динамически выделяемым процессором (от 800 до 2300 МГц). На одном виртуальном сервере стоит и СУБД MySQL и Tomcat с моим приложением. Большую часть времени сервер потребляет минимальную планку процессора (800 МГц), потребление памяти 98% времени не боле 800 МБ, обычно 600-700 МБ. Была нагрузка до 20 запросов в секунду, мощности хватило на то, чтобы работать стабильно, без подвисаний (и это все под Windows!). Сделайте так же, один-в-один, одного сервера может хватить надолго. Современные облака выделяют дополнительные ресурсы автоматически, не превышая указанного вами предела (предел нужен чтобы не разориться если вдруг что...), так что неожиданной нагрузки можно не бояться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы