嗯..我们使用struts2 ajax功能开发了一个j2ee应用程序。我们发现dojo实现很慢。我们做了以下事情: 1.自定义构建dojo库。 (将dojo.js从240kb增加到350kb) 2.将所有静电东西从支柱罐中取出并放在外面。
表现得到显着改善。但是仍然很重,因为你可以用350kb的尺寸猜测..
struts2 ajax应该是这么重吗?或者有更轻的实施可用吗?
编辑:我在我的应用程序中使用了Firebug和YSlow。下面提到了几个极大改善我情况的变化:
将继续更新进一步的更改..
答案 0 :(得分:8)
首先检查您是否在服务器上执行了所有操作以促进缓存(例如,设置正确的HTTP标头,压缩,服务器端缓存,上游缓存等)。有关详细信息,请参阅Improving performance…。
目标是尽可能减少I / O - 使用Firebug或任何其他网络流量监控工具来查看来回发送的数量。尽量减少I / O请求的数量和总字节数。
不要忘记它也适用于你的动态数据 - 选择有效的格式,将几个相关的请求捆绑在一起,删除一遍又一遍地发送的所有枯木。
如果自定义构建和服务器端调整没有帮助,请考虑重构您的Web应用程序以使其更轻量级。例子:
使用Dojo为过去2年的生活构建Web应用程序我仍然没有看到一个无法正确优化的应用程序,直到它被完全接受并被最终用户视为“快速”,“灵活”和“轻” - 重量”。
答案 1 :(得分:2)
请务必先按照此常见问题解答: http://struts.apache.org/2.x/docs/performance-tuning.html
我通常会重新编写自己的主题,而不是使用内置了dojo的struts2 ajax主题。这样我就可以使用我想要使用的任何工具包(jQuery)。当我将模板文件夹从jar复制到webapp的根网站目录时,我看到了最大的性能改进。
答案 2 :(得分:0)
最后我查了一下,struts发布的Dojo(0.4)版本已经发布了2年。 Dojo对版本0.9 / 1.0进行了重写,性能显着提高,代码大小减少。您应确保运行最新版本的Dojo(当前版本为1.2.3)并使用上面Eugene的构建和提示。