2010-04-08 245 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