Web海量文件測試——IO性能成瓶頸
構(gòu)架在千萬級的文件系統(tǒng)上的Web系統(tǒng),性能到底如何?
通過海量文件生成后,進行實際的Web高強度測試,可以看出問題所在。
測試前的準備:
在前面Blog中已經(jīng)預(yù)告了。即采用海量文件生成系統(tǒng)(億萬級海量文件生成器),生成海量文件。
這里測試了2個磁盤系統(tǒng),一個是Scsi的146G磁盤,一個是STAT300G,前者生成了近1900萬文件,后者生成了3300萬文件。
在生成文件時,其表現(xiàn)也是逐步降低,從開始的每秒300個文件生成,到最后80個文件左右,可以看出Windows的NTFS系統(tǒng)在海量小文件的應(yīng)用中,成線性下降趨勢(即文件越多,速度越慢)。
Web負載測試結(jié)果:
由于是生成的千萬級的文件系統(tǒng),所以為了性能和更方便測試,采用自主開發(fā)的測試軟件Web LoadRunner,軟件采用多線程,可并發(fā)高速訪問。
下面是2個磁盤系統(tǒng)的測試表現(xiàn):
圖1:STAT300G磁盤10小時連續(xù)負載壓力測試圖
圖2:SCSI46G磁盤10小時連續(xù)負載壓力測試圖
說明:趨勢圖中有幾次特別高的訪問,是屬于網(wǎng)絡(luò)鏈接問題,導(dǎo)致空鏈接。并發(fā)實際WEB服務(wù)器性能體現(xiàn)。
- Scsi磁盤系統(tǒng),前10多分鐘的表現(xiàn)特別,達到600次每秒下載鏈接,但10分后,逐漸線性下降,最終到120分鐘后,平穩(wěn)在100次每秒;根據(jù)分析,一方面原因可能是前面文件磁盤碎片少,訪問效率較高,二方面由于磁盤緩存的作用,對前面的文件命中率較高。
- Stat磁盤系統(tǒng),走來就比較平穩(wěn),但性能卻很差,基本保持在80-100次/秒之間
- 從這可以看出,Scsi磁盤系統(tǒng)的性能,整體是優(yōu)勢于STAT很多的。
結(jié)論
從這次測試可以看出,Web服務(wù)器的海量訪問(靜態(tài)頁面,非動態(tài)),磁盤的IO系統(tǒng)是性能瓶頸,解決好IO問題,是提高海量文件高強度、高效率的重點。
所以解決方案:
1,采用SAS(Scsi)+Raid高性能磁盤系統(tǒng);
2,采用分布式文件系統(tǒng),均衡IO的負載;
3,采用Web緩存技術(shù),不過面對動輒幾百、上千G的海量文件系統(tǒng),緩存有點力不從心;
4,采用更先進的文件系統(tǒng)。不過在Win系統(tǒng)之上,只能是NTFS。
IOPS提升幾十倍-英特爾X25-E 服務(wù)器級固態(tài)盤
現(xiàn)貨:全球最快的Fusion-io SSD硬盤卡述評