獲取新伺服器
我的老闆告訴我,如果真的有必要,我們可以買一個新的網路伺服器。我不知道這是否真的有必要,所以我決定問那些可能知道的人。
該網站安裝了 IIS 6.0 和 Apache。IIS 僅託管一個應用程序,它是一個長輪詢應用程序(消耗大量執行緒)。
目前的機器是一個 Windows 2003,有兩個 CPU(可能一個物理的,但兩個邏輯的)。
我們每天有大約 3,000 名獨立訪客。
當您輸入地址並按輸入鍵時,有時初始載入甚至需要一分鐘以上。
我嘗試通過增加 maxWorkerThreads、maxIoThreads 和其他程序模型屬性來微調 IIS,但效果不大。
獲得更好的機器有什麼用?好多少?有什麼建議麼?
有什麼可以幫助但不包括購買新機器的建議?
編輯:這是目前的系統資訊
電腦:Intel(R) Xeon(R) CPU 5130 @ 2.00 GHz,2.00 GB RAM
作業系統:Microsoft Windows Server 2003,標準版,Service Pack 2
如果您需要有關係統的其他資訊,請告訴我。
如果您可以遷移到新的 6 核或更多伺服器,例如 12GB 的現代記憶體、新磁碟、更新的 64 位伺服器作業系統和所有程式碼要求的最新版本,您應該會看到大約 2 到 20 次整體速度提高,實際上可能更多。
這有點厚顏無恥,但是在 StackOverflow 上的這篇文章中看到 Noob 的軟體問題後,我實際上建議不要真正需要升級伺服器。特別是 noob 提到他不超過 50% cpu 時間。
您面臨的問題(我認為)是您的第一個請求進入了您的軟體的 60,000 毫秒超時非同步回調程式碼。
我認為您需要做的是更改軟體,以便在第一次請求時直接將結果傳回,而不需要文件系統監視。檢索目前數據並儘可能快地發回程式碼。
在非同步回發上,按原樣實施您的軟體。
您可以使用Page.IsPostBack屬性了解頁面是第一次被請求還是由於回發而被請求。
這應該允許您的訪問者在我看到您的程式碼後大約 1-5 秒內獲得該頁面,然後僅在 60 秒超時內保持非同步回調。
為使用 stackoverflow 劫持 serverfault 執行緒而道歉 =(