linux 作為 web 伺服器作業系統,展示了其高可靠性,最多可達4路的對稱多處理器(smp); 它的smp可伸縮性、磁碟和網路i/o效能,排程程式和虛擬記憶體管理器。
硬體和軟體
ia-32體系結構:
資料庫:
查詢資料庫基準測試程式,而在硬體上,採用帶大磁碟配置的 8 路 smp 系統。資料庫軟體採用 ibm db2 for linux,scsi 控制器是 ibm serveraid 4h。這個資料庫是針對 8 路 smp。
smb檔案服務
基準測試程式netbench,硬體是4路smp系統,驅動smp伺服器的客戶機可多大48個。中介軟體samba(開放原始碼) 。sam檔案服務時針對8路smp。
web 服務
基準測試程式是specweb99,硬體是8路smp,並帶有大記憶體配置,客戶機可達32個。這個基準測試僅用於研究目的,不做它用(有關這方面的更多細節,請參閱基準測試程式這一節)。web 伺服器是 apache,它是 ibm http 伺服器的基礎。我們選擇 8 路 smp 是為了研究可伸縮性,而選擇 apache 是因為它支援對下一代 posix 執行緒(ngpt)的測量和分析
linux
元件級的基準測試程式測量特定 linux 核心元件的效能和可伸縮性,對於各種工作負載,這些基準測試程式被認為是至關重要的。例如:
併發程式設計10 效能和可伸縮性
使用多執行緒也會引入一些效能的開銷,比如執行緒協調,上下文切換,執行緒建立和消亡。當使用過度的時候這些開銷可能超過對吞吐量響應和提高計算能力帶來的好處。可伸縮性就是可以通過增加計算資源 cpu,記憶體 來提供程式的吞吐量或者效能。程式的序列化 影響程式的效能,使用多執行緒來優化效能時,序列部分無法優...
多執行緒效能與可伸縮性
1 單執行緒程式不需要執行緒排程也不需要同步開銷,而且不需要使用鎖來保證資料結構的一致性。在多執行緒的排程和協調中都需要一定的效能開銷。對於為了效能而引入多執行緒的程式,並行帶來的效能提公升必須要超過併發導致的開銷。2 上下文切換 如果可執行的執行緒數大於 cpu 的數量,那麼作業系統最終會將某個正...
Amdahl定律和可伸縮性
效能的思考 提公升效能意味著可以用更少的資源做更多的事情。但是提公升效能會帶來額外的複雜度,這會增加執行緒的安全性和活躍性上的風險。我們渴望提公升效能,但是還是要以安全為首要的。首先要保證程式能夠安全正常的執行,然後在需要的時候進行效能優化,並且優化後的程式要盡可能保持併發性,讓多處理中每個cpu盡...