Я разрабатываю веб-приложение в struts2, spring & hibernate. Я хотел бы знать, какой размер кучи для этого приложения (и как определить) для успешной работы с большим количеством пользователей (от тысяч до миллионов).
Могу ли я использовать один и тот же сервер (с одинаковым размером кучи) для развертывания более одного приложения с вышеуказанными критериями.
Любой сервер, который может заполнить эти критерии.
Вы не должны думать о единой машине с миллионами пользователей. Это будет так называемое "вертикальное масштабирование", которое является дорогостоящим, а также опасным - если машина терпит неудачу, все ваше приложение станет недоступным. И чтобы добавить к этому, вы, скорее всего, попали в известную проблему 10KC - http://en.wikipedia.org/wiki/C10k_problem.
Вместо этого вы должны думать о горизонтальном масштабировании и множестве кешей (например, лак и т.д.),
Просто, чтобы дать вам несколько ссылок: http://en.wikipedia.org/wiki/Scalability, Разница между масштабированием по горизонтали и вертикали для баз данных.
Все зависит от типа приложения, которое вы должны писать, типов запросов, количества запросов в секунду, количества таких запросов, которые будут считывать/записывать в базу данных, как данные о палате могут быть возвращены пользователю и МНОГИЕ.