具有高流量使用率的Struts2应用程序(网站)的性能增强

Kar*_*ral 2 java performance jsp struts2 high-traffic

我想问一下,为了创建基于STRUTS2的高性能Web应用程序,我应该记住一切.保证该站点具有高流量(即假设每天约500,000个请求).还会有大量的数据库访问.

请评论,因为我决定使用以下框架(或建议任何更好的替代方案):

  1. Struts2 +弹簧和休眠
  2. Jsp + jquery用于视图
  3. DWR用于ajax调用

请提出一些性能调整/增强策略.谢谢!

小智 7

你可以做几件事.

第一:

网站中最大的瓶颈始终是数据库连接.您需要确保数据库在单独的集群中运行,并在使用hibernate时尝试在每个数据库会话中执行更多操作.打开/关闭的DB连接越少,应用程序的速度就越快.

尽可能使用hibernate,因为它具有缓存查询等的逻辑.此外,如果您在用户会话中使用相同的信息,请将其放在会话对象上,这样您就不必多次查询该信息的数据库.

第二:

尽可能使用Spring IOC.您应该创建将要进行数据库查询的"服务"类,并将这些类创建为单例,并通过Spring IOC注入构造函数或setter.

第三:

使用像瓷砖或检票口的工具.它将允许您为JSP创建布局.

第四:

如果页面上显示的数据需要很长时间才能加载/查询,请继续加载包含快速其他数据的页面,然后通过AJAX动态加载慢速数据.它会给用户留下他们正在接收即时结果的印象.

当然,服务器端还有许多其他功能.您可能希望跨多个节点部署应用程序,并使用负载平衡器将流量路由到最不繁忙的节点.您执行的代理,应用服务器,浏览器和数据库的缓存量也会显着影响您的性能.

希望有所帮助!