2015-07-13 74 views
0

我有一個4個CPU的Linux機箱,當我運行一個進程時,它會在30分鐘內處理150萬條記錄。這裏的處理意味着從Oracle DB讀取數據,派生一些東西並在文件中寫入1.5條記錄到文件系統。運行在單核上的進程的多個實例

我們現在計劃在此服務器上運行此進程的多個單獨實例(20)。

這是否意味着,我會在30分鐘內處理20 x 1.5 = 2000萬條記錄? 我看到每個內核的線程數= 1(lscpu命令)。所以我認爲這不是一個正確的假設。在比較CPU數量和進程數量時考慮了哪些因素?

實際上,我們收到了一個請求,說20個進程實例需要系統每小時每小時至少處理2000萬條記錄

我不認爲這些請求的數字可以滿足這個linux系統。

回答

0

這是否意味着,我會在30分鐘內處理20 x 1.5 = 20萬條記錄?

否重點沒有。

我會將2000萬條記錄作爲理論最大值。但我希望你在該目標之前進入I/O通道飽和狀態。

這是系統架構師將賺錢的地方。缺乏這一點,請讓硬件供應商爲您提供訪問測試系統的地方,以便您可以對實際性能進行基準測試。請記住,I/O帶寬是一個典型的阻塞點,但您也可能遇到內存帶寬甚至主板總線限制。

「你永遠不會知道它的味道,直到你咬它。」也適用於基準測試。