提高Java Web Application的性能

时间:2014-04-28 14:24:33

标签: java web-applications

我正在使用具有以下技术堆栈的3层Web应用程序:

  • Java EE
  • Servlet 3.0
  • JSP 2.4
  • Spring 3.0
  • MySQL数据库
  • Tomcat Web Server

我们使用Mozilla Firefox浏览器启动此应用程序。我的问题是,应用程序在数据库上有大量数据时会遇到性能问题。

我们有大约10个JSP,而每个JSP都与数据库中的特定表相关。加载表中包含大量数据的特定JSP时会出现此问题。登录到应用程序也会遇到性能问题,这也需要很长时间才能显示主页。

我需要这个应用程序以最佳性能运行。由于性能问题,我们不想失去我们宝贵的客户。我不知道瓶颈在哪里,以及如何调整应用程序的性能。

1 个答案:

答案 0 :(得分:6)

一些建议:

  • 确保使用数据库连接池而不是手动打开连接。
  • 确保尽可能在最窄的范围内建立连接。这意味着,永远不会作为一个类中的字段而不是更高。
  • 调整数据库:根据查询在表中应用索引,对表进行分区,调整表的统计数据等。
  • 调整查询:编写它们以跟踪表中的索引,使用EXPLAIN检查查询是使用索引条件还是线性搜索,不要在查询中使用子查询等。
  • 使用分页显示表格。最好在一个视图中使用每个表格中10或15(或应用程序中的另一个定义值)行开头的小尺寸页面。最大尺寸取决于您显示的内容。与仅显示纯文本相比,显示视频缩略图的方式不同。此外,它还有助于了解列的数量及其内容,显示250行的两列是纯数而不是显示包含多个列的报告,这有所不同。

除了这些之外,还可以使用Visual VM或Java Mission Control或Yourkit等分析器来发现应用程序的瓶颈。