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