答案与所有性能/缩放相关的问题一样,具体取决于:
您的选择框架中没有任何东西会导致我认为它无法处理大量的用户。但是,如果不知道你想要做什么或者你的预算是多少,就不可能选择一项技术。
为了确保您的应用程序扩展/表演,我会考虑以下几点:
- 保持每个会话低的内存占用。例如,当您有50个时,缓存
HttpSession
中的内容可能会有效,但当您拥有5000个时段时,则不是一个好主意。
- 尽你所能在数据库中完成尽可能多的工作来减少正在移动的数据量(例如,当查看包含大量行的表时,请确保您已完成数据库中的分页工作(而不是比获得10,000行背到Tomcat,然后采摘前10 ...)
- 尝试最大限度地减少必须保持在
HttpSession
内的状态,这使得它更容易集群。
也许最重要推荐:
- 使用load testi ng工具来模拟您的峰值负载并超越并测试。 JMeter是我用于性能/负载测试的工具。
当负载测试,确保:
- 你实际使用的5000个用户(使5000个
HttpSession
s的创建),并使用大量的数据(以避免总是击中高速缓存)。
编辑:
我不认为5000级的用户并不多,你可能会发现(性能明智),你只需要一台服务器(取决于服务器的大小,并将结果的负载测试,当然,您也可以考虑集群解决方案进行故障转移......)来处理负载(也就是说,不是每个5000用户都会同时按下一个按钮,您会发现负载正在增加在早上(即每个人都登录)
您是否在谈论总共5000个用户,5000个并发用户或5000个并发请求? – beny23 2012-03-13 12:31:29
总共有5000个用户,他们都在同一个时区,所以我想他们中的大多数人会同时使用这个应用程序 – 2012-03-13 12:32:29