代码之家  ›  专栏  ›  技术社区  ›  Satya

Struts 2和Dojo文件太重,会影响站点性能。。有什么补救办法吗?

  •  7
  • Satya  · 技术社区  · 17 年前

    好我们已经使用struts2 ajax功能开发了一个j2ee应用程序。我们发现dojo实现相当慢。我们做了以下几件事: 1.dojo库的自定义构建。(将dojo.js从240kb增加到350kb) 2.从struts罐中取出所有的静态内容,并将其放在外面。

    性能显著提高。但是它仍然很重,你可以猜到它有350kb大小。。

    struts2 ajax应该这么重吗?或者是否有更轻的实现?


    编辑:我在应用程序中使用了Firebug和YSlow。下面提到了两个大大改善我处境的变化:

    1. 将静态文件移出Struts jar(帮助很大)
    2. 将服务器调整为gzip响应(将响应大小减少到1/3)

    将继续更新进一步的更改。。

    3 回复  |  直到 17 年前
        1
  •  8
  •   Eugene Lazutkin    17 年前

    首先,检查您是否在服务器上执行了所有操作以促进缓存(例如,设置正确的HTTP头、压缩、服务器端缓存、上游缓存等)。看见 Improving performance…

    不要忘记,它也适用于您的动态数据-选择有效的格式,将几个相关的请求捆绑在一起,删除所有反复发送的死板数据。

    • 评估上面链接中讨论的闪屏技术。
    • 如果您使用了许多不同的表单小部件,请查看它是否真的有必要,然后使用常规的DOM元素,如“input”、“button”、“textarea”、“select”。
    • 布局小部件也是如此。看看简单的CSS是否能帮到你。
    • 评估如何分层构建Dojo,而不是一个完整的Dojo.js,以便网页只加载必要的子集。请参阅中的详细信息 The Package System and Custom Builds .

    以Dojo为生构建web应用程序在过去的两年中,我仍然没有看到一个无法正确优化的应用程序,直到最终用户完全接受并认为它是“快速”、“灵活”和“轻量级”的。

        2
  •  2
  •   Ruggs    17 年前

    http://struts.apache.org/2.x/docs/performance-tuning.html

    我通常会重新编写自己的主题,而不是使用内置dojo的struts2 ajax主题。这样我就可以使用任何我想使用的工具包(jQuery)。当我将templates文件夹从jar复制到webapp的根web目录时,我看到了最大的性能改进。

        3
  •  0
  •   Adam Peller Adam Peller    17 年前