提高Java Web Application的性能

use*_*741 0 java web-applications

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

  • Java EE
  • Servlet 3.0
  • JSP 2.4
  • 春天3.0
  • MySQL数据库
  • Tomcat Web服务器

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

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

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

Lui*_*oza 6

一些建议:

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

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