我想问一下,为了创建基于STRUTS2的高性能Web应用程序,我应该记住什么。保证该站点具有高流量(即假设每天约500,000个请求)。还会有大量的数据库访问。
请评论,因为我决定使用以下框架(或建议任何更好的替代方案):
请建议一些性能调整/增强策略。 谢谢!
答案 0 :(得分:7)
你可以做的事情很多。
首先:
网站中最大的瓶颈始终是数据库连接。您需要确保数据库在单独的集群中运行,并在使用hibernate时尝试在每个数据库会话中执行更多操作。打开/关闭的数据库连接越少,应用程序的速度就越快。
尽可能使用hibernate,因为它具有缓存查询等的逻辑。此外,如果您在用户会话中使用相同的信息,请将其放在会话对象上,这样您就不必多次查询该信息的数据库。
第二
尽可能使用Spring IOC。您应该创建将要进行数据库查询的“服务”类,并将这些类创建为单例,并通过Spring IOC注入构造函数或setter。
第三
使用瓷砖或检票口等工具。它将允许您为JSP创建布局。
第四:
如果页面上显示的数据需要很长时间才能加载/查询,请继续加载包含其他快速数据的页面,然后通过AJAX动态加载慢速数据。它会给用户留下他们正在接收即时结果的印象。
当然,服务器端还有许多其他功能。您可能希望跨多个节点部署应用程序,并使用负载平衡器将流量路由到最不繁忙的节点。您执行的代理,应用服务器,浏览器和数据库的缓存量也会显着影响您的性能。
希望有所帮助!
答案 1 :(得分:2)
由于你正在使用hibernate,你还应该研究一下hibernate性能调优,其中有很多资源包括这些讨论:
答案 2 :(得分:0)