应对网站高并发访问的四个建议_建站经验教程
推荐:播客生活:点击高不高 标题很重要播客生存状态 夜里11时,北京西城区。Kiwi回家扔下背包,全副武装地出门了。在楼下一片混乱中,她调好相机,对准街区一通推拉摇移。 回来时在公车上看见路上塞得水泄不通,清障车停了满大街。kiwi一下激动起来,难道四周道路塌方了?她赶紧用手机拍了一段,不过瘾,回
将硬盘读写分离、功能和展示分开、基本功能封状成类及在设计架构时保证其扩容性,对大型网站建设至关重要。
互联网不断扩大的规模、日益增长的用户群以及Web2.0的兴起,对网站建设提出了新的要求,它要具备高性能和高可扩展性,同时要支持高度并发的访问。
将硬盘读写分离
假如网站硬盘的读写性能是整个网站性能提升的瓶颈,那么可考虑将硬盘的读、写功能分开,分别进行优化。在用来写的硬盘上,假如我们提升硬盘的I/O,那么肯定会增加整个文件系统的故障率,因为它是所有驱动器的故障率之和。硬盘的I/O和故障率不能兼得。而用来读的硬盘,则可用普通的服务器硬盘来降低开销。
均衡CPU和I/O消耗,不仅可以获得更充分的服务器资源利用,还能支持暂时的过载,碰到突发事件、访问流量剧增时,出现的结果是系统的整体性能下降,而不是立即崩溃。
功能和展示必须分开
在网站的后期运营中,肯定会有很多需求变更。假如每次变更都需要修改源代码,那么,这个网站的开发可以说是失败的。
最重要的是功能和展示必须分开。核心功能使用脚本语言编写,前台展示使用带非凡标签的HTML,这样不仅能加快开发速度,而且会为以后的维护和升级提供方便。对于前台模板,一般还需要将页面的头、尾单独提取出来,页面的主体部分也按模块或功能拆分,这样能切实减轻服务器的压力。
封装使开发事半功倍
在功能块层次,假如使用JSP,应将数据库连接、会话治理等基本功能经封装成类。假如使用PHP,则要在脚本代码中显式封装,将每个功能块封装成一个函数、文件或类。
在更高的层次,可以将网站分为表示层、逻辑层和持久层,分别进行封装,做到当某一层架构发生变化时,不会影响到其他层。近来流行的MVC架构,将整个网站拆分成Model、View和Controller三个部分,而且有很多优秀的代码框架可供选择使用,像JSP的Structs、Spring,PHP的php.MVC及Studs等。使用现成的代码框架,可以使网站开发事半功倍。
扩容性应对突增流量
一个大型网站,在设计架构的时候,必须考虑到以后可能的容量扩充。对于活动类网站来说,不定时的突增流量是巨大的。在网站主存储服务器上,采用配置文件形式指定每一个存储盘柜上存储的数据文件的ID范围。当前台服务器需要读取一个数据的时候,首先通过询问主存储服务器上的接口获得该数据所在的盘柜及目录地址,然后再去该盘柜读取实际的数据文件。假如需要增加盘柜,只需要修改配置文件即可,前台程序丝毫不受影响。
分享:站点运营中的三六九法则从上一个命题《站点推广到底是个什么东西》到现在已经半个多月过去了。最近几天依然有不少朋友加我QQ来讨论站点的运营推广,于是我萌发了个念头,写篇系统的关于站点运营的文章。本来,题目依然想用站点运营到底是个什么东西,后来想想,算了。什么东西这个词不太好。
- 相关链接:
- 教程说明:
建站经验教程-应对网站高并发访问的四个建议。