100 個使用者的伺服器設定

100 個使用者的伺服器設定

我有一個與以下場景(真實情況)近似的伺服器相關的問題:

我有一個伺服器,其中將儲存一些視頻,可以透過該伺服器上運行的 Web 應用程式存取這些視頻。將有大約 100 個(並發)用戶使用它(通常透過平板電腦或手機,但也包括 PC)。

您能給我一些關於建立該伺服器硬體配置的想法嗎?其上運行的作業系統將是Linux。

提前致謝。


編輯我:

我使用的 Web 伺服器是 Apache HTTP,但它很可能充當Java伺服器的代理(當然安裝在本機上)。

將在此伺服器上運行的其他應用程式將是:

  • 身份驗證申請
  • 行政申請。

該伺服器也將持續運作(24/7)。

答案1

從您的描述來看,伺服器的主要用例是將視訊串流傳輸到 100 個客戶端。

有鑑於此,伺服器的兩個最重要的子系統將是:

  1. 網路連線
  2. 儲存系統

要調整這些性能的大小,您需要知道需要多少頻寬 - 這取決於您將提供的影片的品質。假設影片為 1MB/s,對於 100 個用戶,網路和儲存系統必須能夠提供 100MB/s(網路為 800Mb/s)的資料。

如果網路頻寬連線大於單一連結的處理能力,且您無法提高連結速度(即從1GbE 遷移到10GbE/40GbE),那麼您可以新增更多連結並在第2 層聚合它們或使用多個鏈路IP 位址(每個連結一個)並透過應用程式分配連接。此外,您還必須確保從伺服器到客戶端的資料路徑能夠處理該容量,如果網路其他地方存在瓶頸,伺服器就無法提供 10Gbps 的傳輸速度!

對於儲存系統,您需要確保它能夠處理頻寬和 IOPS(每秒 IO)數量來提供資料。根據我們上面的計算,您將需要 100MB/s 的串流讀取,但由於您有 100 個用戶,因此儲存系統必須能夠處理至少 100 IOPS。如果您希望用戶瀏覽視頻,您將需要更多的東西來維持性能。雖然硬碟在沒有爭用時可以提供良好的串流效能,但當並發存取數量增加時,我會考慮使用 SSD。

除了這些基本效能特徵之外,您還需要考慮網路連接和儲存系統的可靠性。如果發生連結故障或硬碟故障,會發生什麼情況?如果要繼續提供服務,則必須擁有多個連結和彈性儲存配置(透過應用程式/檔案系統層級的 RAID 或資料複製)。

儲存系統的 RAM 將幫助您快取視頻並減輕儲存系統的一些負載,因此如果您希望許多人觀看同一視頻,那麼更多的 RAM 通常會有所幫助。但是,如果工作集(經常存取的資料)的大小大於系統上的 RAM 量,如果您沒有看到很大的改進,請不要感到驚訝。

由於系統的大部分將透過 IO 傳遞數據,因此您可能不需要太多的 CPU 能力,因此任何現代的多核心 CPU 就足夠了。儘管您應該注意,如果 NUMA 架構中有多個 CPU,請勿使 CPU 互連過載。

擁有硬體後,您應該對其進行基準測試,以確保其提供明智的效能。對於儲存系統我推薦菲奧工具,它允許您專門測試場景,例如使用 100 個並發讀取器進行串流讀取。

鑑於我上面所說的一切,您應該與您首選的供應商交談,看看他們推薦什麼配置。如果您將您的需求作為 RFP 的一部分(特別是如果您包含硬性需求,例如提供特定 IO 設定檔的能力),那麼以後可以更輕鬆地解決任何效能故障。

在設計這些系統時,請嘗試考慮資料如何在系統中移動以及限制在哪裡。

最後,確保您設計的系統具有過剩的容量,以便能夠應對流量的成長和高峰。

答案2

根據並髮用戶數量提供準確的伺服器配置是很困難的,因為它也取決於您的程式碼和資料庫最佳化。此操作,例如

您可以進行完整基準測試以及堆疊基準測試

類似的工具

  1. ab
  2. http_負載
  3. 系統基準
  4. Unix基準測試

等可用。

答案3

您能給我一些關於建立該伺服器硬體配置的想法嗎?其上運行的作業系統將是Linux。

是的。使用雙倍尺寸。</irony>

不,從現階段來看是不可能的。您可以使用 4core-4GB 內存機器或電機,這實際上取決於您將用它做什麼。如果您只是從檔案系統提供下載服務,那麼一台小機器就可以了,但是當涉及到 java 等......基準測試時!


要更具體,自己也應該更具體。

  • 什麼網路伺服器?
  • 伺服器只能下載嗎?
  • 其他基於網路的軟體,如 cms 等?
  • 完整的 LAMP 堆疊?
  • 需要 24/7 嗎?

如果主要目的是傳送影片並充當 java 應用程式的反向代理,我建議使用 nginx。它比 apache 輕量得多,可以處理更多並發連接,同時需要更少的系統資源。

對於您的下載部分,請嘗試避免網頁應用程式並直接從反向代理提供您的檔案;這將降低整體所需的性能。

請注意,nginx 有一些很好的模組可以充當視訊的靜態伺服器


關於24/7:你需要嗎確保24/7 營運?那你需要一個故障轉移設定。

相關內容