1/7产业链信息平台架构设计方案1网站的性能瓶颈分析网站的性能影响因素很多,下面主要从如下4个方面进行分析说明:1)网络负载a)公网负载b)内网负载2)WEB应用服务器性能a)CPUb)存储,I/O访问c)内存d)并发TCP/IP连接数3)数据库服务器性能a)数据库参数配置b)服务器性能(CPU、内存、存储)c)数据结构的合理性4)不同WEB应用的处理方式而对不同的性能瓶颈a)对于静态的网站:静态的HTML页面严格地由标准的HTML标示语言构成,并不需要服务器端即时运算生成。这意味着,对一个静态HTML文档发出访问请求后,服务器端只是简单地将该文档传输到客户端。从服务器运行的那个时间片来看,这个传输过程仅仅占用了很小的CPU资源。对于静态HTML的访问瓶颈为:网络带宽、磁盘I/O以及cache(高速缓冲存储器)。b)对于动态页面因为服务器解析动态页面必须在其传输到客户端前就通过服务器来进行解释,这样就会给应用服务器添加额外的性能消耗,如果进一步要访问数据库,则会增加数据库服务器的性能消耗,则动态页面还有额外的瓶颈:应用服务器的性能,数据库服务器的性能。2/72系统架构设计2.1总体思路为提高网站的高并发性能,提高开发效率及运营效率,主要按如下几个思路进行规划设计:2.1.1负载均衡1)四层交换负载均衡:采用负载均衡器来实现硬件级的四层交换负载均衡,或采用LVS来实现软件的四层交换负载均衡。2)通过第三方软件来实现负载均衡,同时实现页面请求的缓存。通过Nginx实现反向代理服务器集群,同时搭建squid集群以作为静态页面和图片的缓存。3)通过web服务器的配置来实现负载均衡即通过NLB(NetworkLoadBalance)或是APR(ApplicationRequestRouter+WebFarm+UrlRewrite)将客户请求均衡的分给IIS1,IIS2....去处理。2.1.2WEB应用开发架构思路1)应用开发实现MVC架构三层架构进行web应用开发2)页面尽可能静态化以减少动态数据访问,如果是资讯类的网站可以考虑采用第三方开源的CMS系统来生成静态的内容页面。3)采用ASP.NET配置实现页面缓存,采用Redis实现数据缓存。4)采用独立的图片服务器集群来实现图片资源的存储及WEB请求。2.1.3数据存储的设计思路1)数据库拆分,预留负载分离接口,可根据业务类型进行分离,把生产数据库和查询数据库分离,采用AlwaysOn实现数据库的高可用性。2)采用高效的网络文件共享策略,采用图片服务器来实现页面的图片存储。2.1.4不同网络用户访问考虑1)通过引入CDN来解决不同网络服务商的接入速度问题,一般只能解决静态页面的访问问题。3/72)在不同运营商机房部署服务器,通过镜像技术来实现不同网络服务商的接入速度问题。2.2总体架构2.2.1网站的系统分层架构IIS1NLBWEB服务器架构数据存储文件共享IISnNginxproxySquid反向代理软件(数据缓存)数据库生产数据库查询数据库负载均衡器负载均衡...WEB服务(NLB+IIS负载均衡)硬件四层交换ControlMVC应用架构ModelView数据持久层应用级缓存页面缓存SquidcacheNginxcacheDFSLVS软件四层交换数据缓存(Redis)4/72.2.2网站的物理架构Internet服务器2代理服务器集群(Nginx)Web服务器集群B负载均衡器1...服务器n服务器2服务器n服务器1Squid服务器集群服务器1服务器2...用户浏览页面服务器2服务器1服务器1服务器2Web服务器集群A服务器1服务器2图片服务器集群服务器35/72.2.3网站的开发架构IIS1NLBWEB服务器数据存储文件存储IISnDFS...WEB容器MVC框架ModelView持久层页面缓存(Redis)通讯层企业用户普通用户数据库消息中心消息中心ORMDB连接池HTML静态化模块后台支撑模块业务支撑模块请求数据生产数据库生产数据库统计支撑模块I/OControl业务层数据层SQL查询数据库6/72.2.4网络拓扑结构Internet主防火墙主交换机VRRP备防火墙服务器2服务器1服务器2服务器n服务器2服务器2服务器1服务器1代理服务器集群(Nginx)网站服务器集群生产DB服务器集群查询DB服务器组光纤交换机光纤交换机磁盘阵列柜磁盘阵列柜备交换机负载均衡器1负载均衡器2...服务器n服务器2服务器n服务器1应用服务器集群管理终端服务器1服务器n...服务器2服务器1服务器n图片服务器集群备注:1)采用双防火墙双交换机做网络冗余,保障平台服务采用双防火墙通知接通2线路互联网接入,设备之间采用VRRP协议,在任何一个防火墙、互联网发生故障后均可自动将流量切换到另一端,保证网站的正运行,设备或网络恢复后,自动恢复。采用双千兆交换机分别接在2台防火墙上,当某台设备或者网络链路发生故障后,好设备自动接管已坏设备的工作,不影响网站的整体运行,根据业务及真实服务器的数量,交换机可以随时增加。2)采用硬件设备负载均衡器,实现网络流量的负载均衡使用硬件设备负载均衡器,将网络流量均衡的分担到WEB服务器集群各节点服务器,保障平台服务器资源均衡的使用。3)采用代理服务器,实现软件级的网络负载均衡。7/74)数据库服务器分离成生产数据库集群和查询数据库集群,实现生产读写与后台查询统计进行分离,同时数据库采用AlwaysOn技术进行负载分摊。2.2.5可拓展的物理架构对于一个充分考虑拓展性的系统来说,根据业务量的发展来进行硬件系统的建设,无疑是最高效的方法,因此,在注册用户数低于五十万并且访问并发数少于一万时,我们可以使用一个可拓展的物理架构来建设,通过增加WEB服务器、少量增加负载均衡代理服务器(APR+NLB)来实现无缝扩容。当业务成长到更高层次时,再考虑增加硬件负载均衡和Nginx等投入费用更大的负载均衡设备。而这个拓展过程都可以在简化架构上进行设备接入,不会对系统正常运行产生影响。Internet服务器2代理服务器集群(APR+NLB)Web服务器集群B...服务器n服务器1服务器2用户浏览页面服务器2服务器1服务器1服务器2Web服务器集群A服务器1服务器2图片服务器集群服务器3