闲来无事跟朋友折腾了一个山寨百衲本的网站HelloCpp(http://www.hellocpp.net)。界面我们都是外行,反正基本就是活脱脱一个山寨的www.codeproject.com。不过开发过程中还是蛮有一些心得的。现在写出来跟大家分享。有不对的地方请大家多多建议。
网站性能优化之文件服务器分离技术
在WEB开发中,一个重要的性能问题是IO问题。通常,一个网站里会拥有包括图片、RAR文件等一系列的文件,这些文件一般都比页面要多很多而且大很多,并且,这些文件也会比页面访问更多次。这意味着,如果能优化这部分IO的性能,则对整个网站的性能都会有所提高。
在HelloCpp(http://www.hellocpp.net)的开发过程中,我们使用了网站服务器与文件服务器相分离的技术。即除了页面以外的图片、脚本、资源等文件,都是部署在与网站页面所在的服务器不同的服务器上的。而通过网站上传文件的时候,也会由后台程序保存在远程文件服务器上。这里,保存通常有两种做法:
1.使用FTP服务来远程保存文件
2.使用WebService来远程保存文件
HelloCpp中使用的是第二种方式,因为使用第一种方式的话,文件服务器需要额外开放一个FTP服务,这样就有更多被攻击的危险。编写一个远程保存文件的WebService相当简单,只要传递文件的数据Stream即可。另外,文件服务器还可以采取一些轻量级的配置方法,尽可能地提高IO性能。也可以配置一个冗余的文件服务器,来提供集群访问,具体细节请参考其他专业的文档。
-----待续
最后,欢迎支持HelloCpp(http://www.hellocpp.net),中国人自己的CodeProject编程资料库