2008-09-12 34 views
8

一臺Web服務器可以處理多少流量?如果我們超出了這個範圍,最好的方法是什麼?確定所需服務器數量的最佳方法

我有一個有幾百個用戶的ASP.Net應用程序。它的方面相當處理器密集型,但到目前爲止,我們只用一臺服務器就可以運行SqlServer和該站點,這樣做很好。它運行Windows Server 2003,3.4 GHz,內存爲3.5 GB。

但最近我已經開始注意到在不同的時間慢,我想知道什麼是最好的方法來確定服務器是否由於應用程序的使用而過載,或者如果我需要做些事情來修復應用程序(如果我只是想從盒子裏拿出太多的東西,我真的不想花很多時間去追求優化。

回答

7

你需要的是對Capacity Planning一些信息..

容量規劃是爲了滿足系統和應用的容量需求增長規劃和預測高峯使用時段的過程。它涉及廣泛的性能測試,以確定應用程序的資源利用率和負載下的事務吞吐量。首先,您要測量網站當前接收的訪問者數量以及每個用戶對服務器的需求量,然後計算支持當前和未來所需的計算資源(CPU,RAM,磁盤空間和網絡帶寬)使用水平。

1

如果您有權訪問某些性能分析工具(例如Visual Studio Team Suite版本中的那些工具),則可以嘗試設置測試服務器並運行一些綜合請求,並查看是否有任何特定部分代碼耗時過長。 在做這件事之前,你應該查看一些CPU和內存使用情況的圖表,看看它是否可以。 (類似UNIX的「負載平均值」可能是一個有用的指標,我不知道Windows是否有類似的東西,基本上是每個時間片需要CPU時間的平均線程數)。

還要檢查一下顯而易見的事實,即你沒有耗盡帶寬。

0

在該硬件上,.NET應用程序應該能夠每秒處理大約200-400個請求。如果你只有幾百個用戶,我懷疑你每秒看到2個請求,所以我認爲你的這個盒子裏有很多容量,即使SQL服務器在運行。

不知道所有的細節,我會說沒有,你不會看到任何增加服務器的性能改善。

順便說一句,如果你不使用Output Cache,我會從那裏開始。

1

衡量,測量,衡量。 Rico Mariani總是這樣說,他是對的。

測量請求/秒,RAM,CPU,會話等

您可能想出一個緩存策略(輸出緩存,數據高速緩存,高速緩存相關性,等等。)

參見你的SQL Server如何做...索引是一個開始的好地方,但不是唯一要看的東西..

相關問題