2008-11-25 37 views
10

標題幾乎總結了一切,我確信有一個完全有效的解釋,但是看起來極其奇怪的是加載頁面(在它們被編譯)在我的本地計算機上似乎要花費很長時間,當相同的代碼在「live」時快速起泡。爲什麼ASP.NET頁面在本地主機上比在生產服務器上慢得多

我在Vista,IIS7上開發,很不錯的硬件;而服務器是一臺機器,在至強< 3 ghz和千兆位線上運行Windows Server 2003和IIS6。

當然,我明白了Web服務器是爲這樣的活動特別定製,
但它似乎仍然奇怪的是,一臺機器在一個時間
(上傳播服務不均高達2-300會議〜5 .Net 2.0應用程序)通過遠程網絡(aka。互聯網;-)
在展示網頁時比在本地運行代碼要快得多...

只是我一直在想的是同時...

UPDATE
非常感謝您的回答!只是認爲我會在上面添加幾點:

  • 已嘗試清除我的本地主機周圍的所有障礙;關閉防火牆和殺毒軟件,停止將牛奶倒入我的電腦機箱,殺死任何沉重的進程等。
  • 這不包含在一個項目或應用程序中;自從我開始作爲開發人員工作(〜1年)以來,我注意到了這個問題並且感到奇怪:
  • 不要認爲無法訪問的資源有任何意義;在本地工作時,我通常在本地擁有項目的所有資源(圖片,閃存等)
  • 無法真正看到隱藏緩存開啓或關閉的任何區別。

從當前正在處理的項目中選擇一個隨機頁面,將其重新加載幾次;本地我在大約4秒內得到了它,而服務器則是大約2秒。 這是使用FF和Firebug;使用Opera我覺得有一個較小的差異,但這只是我的直覺...

所以我想葉(如你所說)harddrives和數據庫連接... 只是似乎很奇怪....

+1

ASP.NET開發服務器不是一個生產服務器軟件,因此,它不是很好調整。但是,鑑於服務器永遠不會有任何實際負載,除非您正在進行一些討厭的處理,否則不會有性能問題。現在,在FF中,當network.dns.disableIPv6不正確時會出現問題。您可以嘗試一下:config並在FF中將network.dns.disableIPv6更改爲true。使用谷歌瀏覽器,我還沒有找到解決方案,IE似乎沒有這個問題。 – 2009-08-27 16:31:36

+2

下面是我剛剛爲Google Chrome找到的一條提示,編輯您的主機文件(查看維基百科上的詳細信息),如果您有「:: 1 localhost」條目,則刪除該條目或評論「#:: 1 localhost」它會加快速度。 – 2009-08-27 16:37:16

+0

哇4秒?在我的本地主機上,它花了15-30秒來加載頁面,並經常失敗。所有請求的15%-20%。相比服務器約2秒。我有8mbit連接,四核心,4 GB RAM等等。從來不知道這個原因,甚至發生在頁面不做任何外部連接。 – formatc 2012-03-23 17:46:51

回答

3

呃...升級我的機器後(Q9550 @ 3。4ghz,1TB> 100mb/s搜索驅動器)與在GoDaddy上託管的同一頁面相比,即使有此計算機執行作業(MS SQL Server,IIS),我也看不出有什麼區別。當問我的初始問題時,我有一臺稍微小一點的機器,並將其與我公司的專用服務器相比較。 所以問題的根源基本上是: 他們不是。 感謝您的所有答案!

1

沒有理由說應用程序不應該在您描述的設置中在本地快速運行 - 也許您還有其他事情正在進行。

首先要看的是你在開發箱上運行的東西:反病毒或軟件防火牆可能會成爲這些事情的殺手,你可能想要測試一下這個被禁用的東西。

1

您還可以檢查您的網站是否嘗試從您的開發機器訪問不可用的內容(不可用的URL)。我以前有過這個問題幾次。

0

您是否認爲這可能是因爲緩存?即生產服務器上的頁面被高速緩存,而本地主機上的頁面不被高速緩存。

我也同意terjetyl有可能是你的本地主機找不到鏈接的文件(如JavaScript源文件),您的防火牆可能會阻止這些....

3

至少有兩方面的原因:

  • 首先,您的本地服務器可能會在調試模式下運行帶有調試器的頁面。這使得一切運行速度較慢

  • 其次,每次你改變你的網頁代碼或重新啓動您的服務器上的所有網頁必須重新編譯,而這需要一定的時間。

在您的生產服務器上編譯一次頁面,然後將編譯後的版本提供給所有用戶,並且您可能未在調試模式下運行(我希望!)。

0

如果有存儲的應用程序需要訪問服務器上的東西,這將大大放慢改革的步伐 - 是的,我見過的地方有哪些主辦的唯一的數據庫系統中的生產服務器可用於整個公司,用於生產和開發。

1

我很驚訝沒有人提到硬盤呢。硬盤通常是系統中的典型瓶頸,桌面硬盤通常比服務器(SCSI)磁盤慢很多。臺式工作站也可以具有其它所有使用磁盤的同時更多的進程在運行,而服務器的機器更加優化,只運行關鍵的服務器進程。但是,當然,這完全取決於一臺機器在做什麼。

8

如果您使用的是Firefox或Safari,你是在Windows Vista上,那麼你應該禁用 IP版本6,因爲這個食堂與Vista與Webdev的和Firefox/Safari瀏覽器組合...

在FF型about:config中在地址欄,過濾器的「IPv6」,並設置啓用爲FALSE!

這是在Windows Vista中使用IPv6的錯誤,是你的煩惱一個非常可能的候選人...

0

的東西小萬在遊戲:更快的網絡;更好的數據庫服務器運行很長時間並且所有的查詢都已經執行過; ...也許是由於Vista :)

1

你實際上是通過IIS7運行它還是真的運行通過Visual Studio的ASP.NET Development Server?如果後者,那麼......那是正確的,這是一個很大的原因。 ASP.NET開發服務器針對調試應用程序進行了優化,而不是快速運行它們。

另一半的問題是,你實際上沒有告訴我們你的機器的規格,只是它是「好硬件」,而不是計算機的一個指標。 Vista中確實吸了一些資源,包括其新的顯示管理器(用於Aero玻璃桌面)及其趨勢預加載常用運行的應用程序到RAM中。

這聽起來像你也可能從桌面上運行數據庫服務器,這會消耗更多的服務器機器不會使用的資源,因爲它們很可能具有(a)單獨的數據庫服務器。

相關問題