【发布时间】:2015-01-15 15:16:03
【问题描述】:
我有一个网站,其中包含一些使用带有rendered 属性的p:graphicsimage 标签的图片。因此,仅当 bean(数据库查询)返回 true 时才会显示图像。
我还有一个登录表单检查用户与数据库。这工作正常,但我目前的问题是页面需要大量时间来加载页面(大约 25 秒)。
loginbutton 的 bean 方法在按下 loginbutton 后约 20 秒被调用,但我不知道服务器在此期间在做什么。知道如何检查服务器状态或如何解决该问题吗?
我的豆子是ManagedBeans
提前致谢!
【问题讨论】:
-
尝试调试登录后执行的方法。尝试找到发生滞后的语句。
-
您是否运行了分析器?在 jvisualvm 中尝试 CPU 示例。这将告诉您 CPU 时间的去向。也许是数据库查询。
-
Profiler 显示 98% 的时间 cpu 处于空闲状态
-
您是否在资源充足的真实服务器上运行应用程序?虽然速度/性能取决于几件事,但在服务层上运行的业务逻辑(EJB 上的 JPA 事物或其他)可能会对性能产生重大影响,如果该逻辑/代码混乱/分散 - 例如,如果你正在做很多Java 代码的事情,否则这些事情可以委托给单个(一个或两个)(聚合)SQL 语句,查询优化技术被忽略,来自数据库的结果集不会延迟获取,在许多地方不必要地使用急切获取等.
-
确保图片尺寸不要太大。浏览器可能正在获取这些图像,但它们太大(20 MB 或 osthing)并且需要时间。只是猜测
标签: java jsf primefaces javabeans wildfly