2010-04-08 139 views
1

我目前正在使用Dojo作为js框架的项目。它是一个相当丰富的用户界面,因此为dojo插件使用(并因此加载)了许多不同的.js文件。Dojo加载时间非常缓慢iis

当在运行在mac上的apache服务器上运行时,文件(大约1k) (1或2毫秒),页面加载速度非常快(< 5秒)

在Win 7上的IIS上运行时,文件以非常低的速率(150ms - 1秒)传送,因此导致该页面最多需要3分钟才能加载。

我搜索了互联网,试图找到一个解决方案,并已空出来。

任何人有任何想法?

回答

2

为什么不let Google serve the Dojo files for you?

的AJAX库API是一种内容 分销网络,并加载 架构最流行的, 开源JavaScript库。通过 使用google.load()方法,您的 应用程序有很高的速度,全球范围内的 可用访问越来越多的列表 最流行的开源 JavaScript库。

+0

我已经尝试了与相同的一般响应时间(它更快,但不是数量级)的谷歌CDN。我几乎相信它是一个道场的事情,但我坚持解释Apache的性能。 最终我们正在考虑使用单个编译的dojo库(可以进行gzip压缩)。 – Josh 2010-04-08 15:19:46

+0

好吧,我收回它。谷歌CDN迅速加载基本的东西。仍然写入的定制插件必须加载我们的服务器加载速度缓慢。 虽然cdn修复了问题的一部分,但根本问题仍然存在,只是稍微缓解了cdn :) – Josh 2010-04-08 15:32:32

+0

这并不能解决真正的问题,即IIS需要500ms才能返回304,但它确实减轻了95%因为IIS不再服务于道场的标准部分,所以这种痛苦是不可避免的。 – Josh 2010-04-12 12:42:28

1

你需要做的是build an optimized version你的代码。这样你的服务器命中率就会少得多(但是我猜他们仍然会很慢,直到你发现iis问题)Dojo作为个人文件开箱即用,但不需要运行构建脚本将所有这些文件连接在一起,经验很差。 CDN确实为dojo基础和某些配置文件构建了配置文件,如dijit.dijit。除了个别需求之外,在这些配置文件中执行dojo.require会在运行构建之后启用此功能。您需要为代码创建图层。构建脚本还可以连接css和inline模板文件,删除注释和空白等。

+1

是的,我找到了。我的问题是,为仍然不稳定的代码创建优化版本会带来一些开销。我开始使用谷歌CDN标准的东西,但自定义代码仍然加载速度比我预期的要慢 – Josh 2010-04-12 12:37:49

0

您是否真的尝试过在预期的目标生产服务器上测量加载时间?

如果你只是在本地开发环境(或在开发/测试虚拟机)测试这个,那么我认为你是在比较苹果与橙子(赦免双关语:))。

+0

不幸的是,我必须在我的机器上进行调试/测试/写入它:) 试图避免2分钟的页面加载时,我改变一个CSS类 – Josh 2010-04-12 12:38:34