gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 20:25:21 26 4
gpt4 key购买 nike

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

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

  1. Struts2 + springs 和 hibernate
  2. Jsp + jquery 用于 View
  3. ajax 调用的 DWR

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

最佳答案

您可以做几件事。

首先:

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

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

第二个:

尽量使用Spring IOC。您应该创建将执行数据库查询的“服务”类,并且这些类应该创建为单例并通过 Spring IOC 注入(inject)到构造函数或 setter 中。

第三:

使用像 tiles 或 wicket 这样的工具。它将允许您为 JSP 创建布局。

第四:

如果页面上显示的数据需要很长时间才能加载/查询,请继续使用其他快速数据加载页面,然后通过 AJAX 动态加载慢速数据。它会给用户一种印象,即他们正在收到立竿见影的结果。

当然,您可以在服务器端做很多其他事情。您可能希望跨多个节点部署应用程序并使用负载均衡器将流量路由到最不繁忙的节点。您在代理、应用程序服务器、浏览器和数据库中进行的缓存量也会显着影响您的性能。

希望对您有所帮助!

关于java - 具有高流量使用率的 Struts2 应用程序(网站)的性能增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com