網(wǎng)站性能優(yōu)化之文件服務(wù)器分離技術(shù)
在WEB開(kāi)發(fā)中,一個(gè)重要的性能問(wèn)題是IO問(wèn)題。通常,一個(gè)網(wǎng)站里會(huì)擁有包括圖片、RAR文件等一系列的文件,這些文件一般都比頁(yè)面要多很多而且大很多,
并且,這些文件也會(huì)比頁(yè)面訪問(wèn)更多次。這意味著,如果能優(yōu)化這部分IO的性能,則對(duì)整個(gè)網(wǎng)站的性能都會(huì)有所提高。
在HelloCpp(http://www.hellocpp.net)的開(kāi)發(fā)過(guò)程中,我們使用了網(wǎng)站服務(wù)器與文件服務(wù)器相分離的技術(shù)。即除了頁(yè)面以外的圖片、腳本、資源等文件,都是部署在與網(wǎng)站頁(yè)面所在的服務(wù)器不同的服務(wù)器上的。而通過(guò)網(wǎng)站上傳文件的時(shí)候,也會(huì)由后臺(tái)程序保存在遠(yuǎn)程文件服務(wù)器上。這里,保存通常有兩種做法:
1.使用FTP服務(wù)來(lái)遠(yuǎn)程保存文件
2.使用WebService來(lái)遠(yuǎn)程保存文件
HelloCpp
中使用的是第二種方式,因?yàn)槭褂玫谝环N方式的話,文件服務(wù)器需要額外開(kāi)放一個(gè)FTP服務(wù),這樣就有更多被攻擊的危險(xiǎn)。編寫(xiě)一個(gè)遠(yuǎn)程保存文件的
WebService相當(dāng)簡(jiǎn)單,只要傳遞文件的數(shù)據(jù)Stream即可。另外,文件服務(wù)器還可以采取一些輕量級(jí)的配置方法,盡可能地提高IO性能。也可以配
置一個(gè)冗余的文件服務(wù)器,來(lái)提供集群訪問(wèn),具體細(xì)節(jié)請(qǐng)參考其他專業(yè)的文檔。
-----待續(xù)
最后,歡迎支持HelloCpp(http://www.hellocpp.net),中國(guó)人自己的CodeProject編程資料庫(kù)
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
|
||
|