JSF页面加载非常慢

时间:2015-01-15 15:16:04

标签: java jsf primefaces javabeans wildfly

我的网站上有一些使用p:graphicsimage标记并带有rendered属性的图片。因此,只有bean(db query)返回true时才会显示图像。 我还有一个登录表单,检查用户对数据库。这很好但我目前的问题是页面需要很多时间来加载页面(大约25秒)。

登录按钮的bean方法在按下loginbutton后调用~20秒,但我不知道服务器在这段时间做了什么。知道如何检查服务器状态或如何解决该问题?

我的咖啡豆是ManagedBeans

提前致谢!

2 个答案:

答案 0 :(得分:0)

您可以调试您的方法并对非常老派的潜在区域进行基准测试

long startTime = System.currentTimeMillis();
method();
long endTime = System.currentTimeMillis();
System.out.println((endTime - startTime) + "ms")

或使用像yourkit这样的分析器。

答案 1 :(得分:0)

您可以采取一些措施来提高屏幕效果

  1. GZIP过滤器会显着缩短初始加载时间。它在转移到客户端浏览器时压缩页面内容。请参阅https://stackoverflow.com/a/35567295/5076414
  2. 您还可以实施 cacheFilter 来提高性能 您的屏幕与基于JavaScript的UI相同。这将缓存屏幕的静态内容,如图标,图像,样式表,javascripts等。您可以控制要缓存的内容和要排除的内容。请参阅https://stackoverflow.com/a/35567540/5076414
  3. 对于客户端UI组件,您可以使用 Primefaces ,即JQuery 基于UI。
  4. 如何验证我的屏幕是否正在使用gzip和缓存

    要查看您的内容是否已经使用gzip和缓存,请执行 Google Chrome 浏览器 - >右键点击你的屏幕 - >检查 - >点击网络标签 - >刷新你的屏幕。 点击图片,图标,样式表,看看您是否在响应标题

    中看到了以下内容

    Cache-Control:max-age=2592000如果元素的状态是304(来自缓存)

    Content-Encoding:gzip如果元素的状态为200