如何提高Spring MVC性能?

时间:2011-09-23 13:02:35

标签: spring performance spring-mvc optimization

是否有最佳实践如何提高spring webapps的性能?

我使用ehcache作为静态内容,尝试在我的应用程序结束时加载JavaScript,但应用程序运行不顺畅。对于一个简单的注册只有GET请求来映射url和initalize会话和bean lastet超过7秒。

当然,您可以根据具体情况进行优化,但我想知道关于generell性能问题以及如何处理这些问题。

模式,最佳实践等非常受欢迎。

3 个答案:

答案 0 :(得分:5)

一般来说,我建议:

  • 构建一个可以执行应用程序的测试环境 进入里面
  • 编写可重复的性能测试脚本,重点关注绝对性能(例如“渲染此页面需要多长时间”)和大规模性能(例如“在负载下性能如何降低?”)
  • 将分析器粘贴到您的测试环境中。自从我使用Java应用程序以来已经有一段时间了,但是有很多可用的应用程序。
  • 在运行您的探查器时运行性能测试。弄清楚瓶颈是什么。修复瓶颈。冲洗。重复。

我通常建议不要将测试装置同样地指定给生产,因为它很难创建足够的负载来对系统施加压力。它也非常昂贵。

如果您有一个“类似生产”的环境进行测试,那么现在就去做 - 理想情况下,您将获得与测试环境类似的结果,但并非总是如此;如果可能的话,安装探查器并查看瓶颈在哪里。

完成后,您可以将优化的应用部署到生产环境中。

答案 1 :(得分:5)

创建性能测试(与jmeter一样)。使用完整的分析器或仪器来分析您的应用程序。如果您使用的是spring(以及弹簧配置的数据源),我非常喜欢javamelody这是一个简单的插件,用于检测和编译应用程序的性能统计信息。

运行测试,检查分析信息,识别瓶颈,优化最严重的违规者。重复直到满意为止。

Spring MVC没有固有的性能问题。性能问题来自其他领域。错误的SQL查询,缓慢的外部集成,视图中过多的JSTL疯狂等等。

答案 2 :(得分:0)

VisualVM对于分析非常有用。可以从link下载。默认情况下未安装的内存池和Visual GC插件也可用于监视内存使用情况和GC活动。