OpenStack Object Storage(Swift)是OpenStack開源云計算項目的子項目之一,被稱為對象存儲,提供了強大的擴展性、冗余和持久性。
上圖介紹了Swift的主要結構、模塊和主要功能。Intel的固態(tài)硬盤和萬兆網卡對Swift的架構優(yōu)化十分明顯的。IDF2013上的課程中介紹了一個配有Intel架構的Swift。
Swift測試環(huán)境。環(huán)境由4個壓力客戶端、1個Proxy服務器以及4個存儲服務器組成,存儲單元為SATA磁盤以及Intel的千兆網卡。壓力測試工具為COSBench測試指標包括IOPS、RESP時間以及成功率等。
測試結果顯示Proxy服務器的網卡明顯制約了整個系統(tǒng)性能的提升。
在使用了Intel的萬兆網卡之后,出現(xiàn)了軟中斷不均衡的問題。Intel的解決方案是每個中斷綁定到不同的core。
Intel的固態(tài)硬盤主要用于存放熱數(shù)據(jù)或者相關的索引數(shù)據(jù)。Account和Container數(shù)據(jù)可以被存到SSD中。
Swift調優(yōu)總結
配置示例
硬件:
Proxy服務器使用萬兆網卡或者負載均衡器使用萬兆網卡
Storage服務器掛載更多的磁盤,增加并行寫
SSD存儲Account 和Container數(shù)據(jù)
軟件
綁定中斷號到不同的CPU上
增加memcached的內存大小和并發(fā)連接數(shù)
增加內核NAT hash表的大小
Swift*配置
Proxy服務實例:64(兩倍于CPU核數(shù))
Object服務實例:16(CPU核數(shù)一半)
Account服務實例:16(CPU核數(shù)一半)
Container服務實例:16(CPU核數(shù)一半)
XFS inode大?。?024
其他配置采用默認值
Memcached做緩存
經過優(yōu)化的Swift架構