大型网络平台架构设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大型网络平台架构设计方案
目录
1网站的性能瓶颈分析 (1)
2系统架构设计 (3)
2.1总体思路 (3)
2.1.1负载均衡 (3)
2.1.2WEB应用开发架构思路 (3)
2.1.3数据存储的设计思路 (3)
2.1.4不同网络用户访问考虑 (4)
2.2总体架构 (5)
2.2.1网站的系统分层架构 (5)
2.2.2网站的物理架构 (6)
2.2.3网站的开发架构 (7)
2.2.4网络拓扑结构 (8)
2.3架构涉及技术的详解 (9)
2.3.1负载均衡 (9)
2.3.2缓存 (15)
2.3.3页面静态化 (19)
2.3.4数据库配置及优化 (20)
2.3.5文件存储 (21)
2.3.6网络问题解决方案 (24)
2.3.7WEB应用开发架构设计思路 (26)
2.4系统软件参数优化 (30)
2.4.1操作系统优化 (30)
2.4.2tomcat服务器优化 (31)
2.4.3apache服务器优化 (33)
2.4.4Nginx服务器的优化 (33)
3WEB服务架构评测 (34)
3.1测试环境 (34)
3.1.1网络环境 (34)
3.1.2服务器配置 (35)
3.1.3软件环境 (35)
3.2测试结果 (40)
3.2.1单个TOMCAT的WEB服务器 (40)
3.2.2Nginx+2个TOMCAT的WEB服务器 (41)
3.2.3Nginx+2个TOMCAT的WEB服务器+缓冲 (42)
3.3测试结果分析 (43)
3.4评测结果 (44)
4配置选型 (45)
4.1网络带宽 (45)
4.2架构和硬件配置选型 (46)
4.2.1硬件配置参考 (46)
4.2.2Web架构和硬件选型 (47)
4.3硬件扩容策略 (48)
4.3.1增加服务器 (48)
4.3.2增加存储 (48)
4.3.3升级服务器 (48)
4.3.4网络扩容 (48)
5附录:一些主流网站的真实数据 (49)
1 网站的性能瓶颈分析
网站的性能影响因素很多,下面主要从如下4个方面进行分析说明:
1) 网络负载
a) 公网负载
b) 内网负载
2) WEB应用服务器性能
a) CPU
b) 存储,I/O访问
c) 内存
d) 并发TCP/IP连接数
3) 数据库服务器性能
a) 数据库参数配置
b) 服务器性能(CPU、内存、存储)
c) 数据结构的合理性
4) 不同WEB应用的处理方式而对不同的性能瓶颈
a) 对于静态的网站:
静态的HTML页面严格地由标准的HTML标示语言构成,并不需要服务器端即时运算生成。这意味着,对一个静态HTML文档发出访问请求后,服务器端只是简单地将该文档传输到客户端。从服务器运行的那个时间片来看,这个传输过程仅仅占用了很小的CPU资源。对于静态HTML的访问瓶颈为:网络带宽、磁盘I/O以及cache(高速缓冲存储器)。
b) 对于动态页面
因为服务器解析动态页面必须在其传输到客户端前就通过服务器来进行解释,这样就会给应用服务器添加额外的性能消耗,如果
进一步要访问数据库,则会增加数据库服务器的性能消耗,则动态页面还有额外的瓶颈:应用服务器的性能,数据库服务器的性能。
2 系统架构设计
2.1 总体思路
为提高网站的高并发性能,提高开发效率及运营效率,主要按如下几个思路进行规划设计:
2.1.1 负载均衡
1)四层交换负载均衡:
采用负载均衡器来实现硬件级的四层交换负载均衡,或采用LVS
来实现软件的四层交换负载均衡。
2)通过第三方软件来实现负载均衡,同时实现页面请求的缓存。
通过Nginx实现反向代理服务器集群,同时搭建squid集群以作
为静态页面和图片的缓存。
3)通过web服务器的配置来实现负载均衡
即通过apache或是Nginx 将客户请求均衡的分给tomcat1,tomcat2....去处理。
2.1.2 WEB应用开发架构思路
1)应用开发实现MVC架构三层架构进行web应用开发
2)页面尽可能静态化以减少动态数据访问,如果是资讯类的网站可
以考虑采用第三方开源的CMS系统来生成静态的内容页面。
3)采用Oscache实现页面缓存,采用Memcached实现数据缓存
4)采用独立的图片服务器集群来实现图片资源的存储及WEB请求
2.1.3 数据存储的设计思路
1)数据库拆分,把生产数据库和查询数据库分离,对生产数据库采用
RAC实现数据库的集群。
2)采用高效的网络文件共享策略,采用图片服务器来实现页面的图
片存储。
2.1.4 不同网络用户访问考虑
1)通过引入CDN来解决不同网络服务商的接入速度问题,一般只能
解决静态页面的访问问题。
2)在不同运营商机房部署服务器,通过镜像技术来实现不同网络服
务商的接入速度问题。
2.2 总体架构
2.2.1 网站的系统分层架构