收藏 分享(赏)

大型网站需要关注的技术点.doc

上传人:yjrm16270 文档编号:8102877 上传时间:2019-06-08 格式:DOC 页数:4 大小:44.50KB
下载 相关 举报
大型网站需要关注的技术点.doc_第1页
第1页 / 共4页
大型网站需要关注的技术点.doc_第2页
第2页 / 共4页
大型网站需要关注的技术点.doc_第3页
第3页 / 共4页
大型网站需要关注的技术点.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、大型网站的技术问题大网站的运作,在技术上主要解决的是三个个问题1 承载超大访问量2 合理,高效的信息组织3 符合运营目标的系统投入对于超大访问量的措施,主要是在硬件和软件两个方面同时作用。在硬件方面,主要做的事情有1 增加出口带宽2 使用集群设备和技术,负载均衡。3 做多点镜像,抗宕机毁机。4在软件方面,主要做的事情有1 系统平台的选择和处理1.1 操作系统的选择和优化选用尽量选用稳定,经济的操作系统,比如说 linux 就是性价比非常好的选择。而且,如果要是用作大型网站的服务器操作系统的话,必要时需要对其进行源代码级的优化。以用作网站服务器专用操作系统。1.2 WEBSERVER 的选择和优

2、化根据大家的经验,APACHE 是大家公认的性价比比较好的 webserver,要根据需求选择合适的版本,必要时也要对其进行源代码级优化,1.3 CGI 语言的选择很多现在的 Applacation Server ,都集成到了 Webserver 中比如说集成了 Java 的Weblogic,Websphere,Tomcat ,Resin ,集成了 Dotnet,asp 的 IIS,不过这些Applacation Server,都不是适合于做大型网站的,首先,Java,Dotnet 都是字节码,虽然运行前也进行编译,但是编译之后,仍然不是机器码,况且,现在这些东西都为企业应用,代码的模块化做了

3、很多工作,这些工作都是能让开发周期缩短,后期代码维护容易,却大幅度的降低了运行效率。主要是因为这些东西,占用资源太多,代码冗余太多。要想让这种语言开发的网站达到一定的水准,必须在硬件方面投入大量的资本,所以,一般都采用执行效率比较高的 C,C+,C shell,还有有强大字符串处理功能的Perl,或者简单易学的 php1.4 数据库的选择现在的很多大型数据库,主要是在实现复杂关系,实现复杂类型数据存取等方面具有大的优越性,如果要支持大型的网站,一般都使用这些数据库的集群技术,比如oracle 的 RAC,不过这种数据库技术需要比较高的价格,很多网站采用了数据库集群+ 普通数据库+磁盘文件的混合

4、的数据存储技术,以求大幅度降低成本, 由于大型网站要承载大量的并发,大量的 PV,而程序对文件系统的存取,明显优于对数据库的存取,所以,在有优良组织结构的情况下,尽量使用文件系统,而不是数据库,存储数据。2 网站页面的处理和优化2.1 网站页面整体大小的控制网站页面大小,就是当一个用户请求开始,到用户看到整个页面止,服务器需要给客户端传送多少个字节,这个数量,简单的可以由页面网站页面另存然后计算另存后的字节数得到,这个大小主要是由页面代码,和页面图片,引入的资源文件组合而成的,所以,控制网站页面大小,主要是要减少页面的代码量,减少页面代码量,主要是要减少客户端脚步字节数,和减少 html 冗余

5、。尽量减少页面使用图片,即使是使用图片,也要在保证在不失真的情况下,减少图片的分辨率。或者使用高效压缩格式,尽量使用 gif,或 jpg,不用 bmp。减少引入文件,就是引入的脚本文件 *.Js,或格式文件*.css,尽量将其放在页面上,多一个文件就多一个请求。其实图片是最耗资源的,往往是在脚本上大下功夫,不如少用一个图片,要知道,页面中,每一个图片,都是一个请求,如果一个首页,有 20 个图片,那么就服务器就将处理 21 个请求2.2 网站页面结构的优化现在页面设计人员,在设计页面的时候,都使用 Dreamweaver 这样的工具生成页面,实际上,这种工具生成的 html,有很多的代码冗余,

6、其实在保证页面的情况下,能够将页面冗余降很低,这个需要有高水平的页面制作人员在美工设计的基础上,作页面结构的优化。2.3 页面访问资源的控制,和优化一个页面在响应到客户端的时候,其实在这个页面当中,有很多资源,服务器需要处理,比如说,图片的显示,每一张图片,都是一个向服务器的请求,每个 js 文件,每个 css 文件都是,所以图片数量,大小,脚本,格式文件的代码冗余将很大程度影响网站的访问速度。3 动态网站页面的静态化程序对文件系统的访问效率要高于对数据库的访问,显而易见,比如新浪首页,应该是动态内容的地方,不下 50 个,试想,如果一个首页,要查询 50 次数据库,处理 50 个查询出来的结

7、果集,然后再处理,然后把结果响应给用户,如果有几个,十几个,甚至上百个人同时干这个事的话,服务器需要多大的处理能力,需要多么稳定才能保证不宕机。所以,页面的静态化是必要的也是必须的。因为网站是动态的,所以,页面的静态化需要一定的规则和技术,因为静态化,其实就是将用户访问的必然的固定页面事先生成,因为网站是动态的,所以,用户的请求也是多样化的,在用户有很大自由度定制请求的时候,不同的用户得到的响应是不同的,所以,静态化也不是绝对的,况且,大量的静态文件,对资源空间的浪费是很大的,用 空间换时间的代价是空间成本提高。所以,什么样的页面能静态化,页面的那些部分静态化,都是经过权衡的根据不同页面的访问

8、特点,不同的页面,静态的方式也不同。3.1 首页的静态化网站的首页必须要完全的静态化,首先将首页切分成不同的小块,后端用某种方式,将其生成一个个的静态颗粒,运用 shtml 技术,将其组装成一个页面,这样的页面,将是一个由许多小文件组装的大文件,一般中型网站直接用 shtm 包含各个资源即可,为了减少首页访问资源,可以进行第二次静态化,将多个资源的访问变成一个资源。这样首页访问就变成了对一个完全静态的访问对于首页的动态部分,比如登陆,显示用户名等地方,可以采用 iframe 技术,做页面客户端上的局部刷新,也可以达到加快页面速度的效果3.2 二级页面的静态化二级页面的静态化,主要是对文章列表页

9、面的处理,主要处理类似分页,列表显示等等技术,因为二级页面的访问级别小于首页,所以二级页面的静态化不像首页那样要求高。3.3 内容页面的静态化内容页面的静态化也涉及到分页显示,广告更换,相关链接等等。静态化的要求也比较低4 分离网站模块因为网站内容很多,所以要将网站按照预期的访问量,内容的量,将一个网站手工拆分成多个部分,每个部分,根据需要,放在不同的服务器,或集群上,这样一方面便于根据需要配置硬件,另一方面也方便了资源的整合和管理。分离的方式有横向的按照网站栏目,频道分离,和纵向的按照资源种类分离。将网站分离,可以使硬件资源的使用更加高效,也可以有目的的加强网站的热点,关注点。4.1 按照网

10、站频道栏目分离网站将一个网站分别放在不同的服务器,或者服务器集群上,主要通过两个方式,一个是用分别采用不同域名实现,比如说,DB66 的主站是 ,其中几个个频道,教育,读书,职业分别是 、、。分别放在不同的服务器上。一种方式是通过 webserver 的支持,将不同机子上的资源,放在同一个域里面。4.2 按照资源种类分离网站根据网站资源的不同,将相同功能的模块分离出来,有利于对某些特殊的模块,进行特殊的处理,比如将所有的广告做一个广告发布系统,放在 下,将所有的内文放在 ,将所有的图片放在 下等。5 CGI 脚本代码优化大型网站势必要有动态的部分,所以,使用服务器脚本在所难免,为了能够使脚

11、本能够在大负载的情况下高效运行,所以对开发的要求也和普通的开发有所不同,现在很多的语言都着眼于代码通用性,讲究一处编码,到处可用,但是这种模块化的代码,其实是以损失运行效率为代价的。所以,大型网站的代码侧重点在于简洁高效,在开发过程中,侧重考虑并发,大访问量的问题,比如,将经常访问的资源加载到内存,可以增加访问速度。一些网页的特效,尽量使用客户端脚本,将用客户端的资源来减轻服务器负担。由于效率问题,大型网站的主要脚本语言,一般都采用 CC+、C shell、perl、php 等。其实,一个大型网站的搭建,最主要的是这个网站的整体架构的搭建,整个网站各种规则的建立。科学,合理的组织人员,代码,资

12、源,是建立一个大型网站的关键,只有这样才能让一个网站越来越大,否则,在一个无序的情况下,到后来,所有的代码,资源,将无法收拾。所以海量资源的整合,才是大型网站的关键。在代码和资源的组织中,命名体系的建立,是管理海量数据的关键,合理的命名体系,能让整个资源的组织变得条理化、有序化。开发人员的组织,代码,资源的组织,其实都跟网站架构密切相关,有什么样的网站架构,就有什么样的开发人员团队。就像模块化开发的 MVC 结构,其实,是跟程序员的技术梯次是相对应的。严格的测试队伍,大访问量的网站,代码完成后,需要专门的测试人员,使用专门的软件,进行严格的压力测试,在预期的访问量下,合理的配置硬件资源。我能想到的,暂时就这么多,我觉得差不多是冰山一角吧。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报