我正在使用 Spring 3 框架开发基于SAAS的java产品,并使用 hibernate 和注释。
该网站非常慢。我使用 ApacheTomcat服务器6.0.26
有人可以告诉我应该做出哪些更改?
提前致谢!
答案 0 :(得分:1)
可能有多种原因,但我怀疑Apache与它有什么关系。 可能的原因包括:
你应该做的第一件事是弄清楚每页渲染花在查询数据库上的时间,应用服务器上花多少时间。您还应记录每个渲染执行的查询数(以及哪些查询)。然后从时间上减去这两次以在客户端加载页面,第三次是将页面输出到客户端并在浏览器上呈现页面的时间。
如果单个查询在数据库中花费的时间很长,那么使用数据库分析器查看数据库执行长表扫描的位置并在那里设置索引。如果查询返回了大量数据但您只是使用了一些数据,请尝试编写更具体的查询。如果您因为查询数量而在DB中花费大量时间,请尝试通过缓存或重用应用程序服务器上的数据来减少查询数量。 如果应用服务器花费的时间似乎是问题,您可能需要重新考虑您的算法和设计选择。
如果在第三部分花费了大量时间 - 在客户端上传输和渲染它,请尝试使用静态内容,CDN等上的过期标头优化javascript ... 下载并安装YSlow插件并使用它来测试您的页面并遵循其建议。