版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京宽连十方数字技术2023-7目录1设计思路32系统结构33网络规划及性能计算33.1网络架构33.2网络架构说明4采用双防火墙双交换机做网络冗余,保障平台服务4采用硬件设备负载均衡器,实现网络流量的负载均衡43.3系统测算4系统处理能力要求4业务处理能力要求4系统话务模型43.4配置核算5数据库服务器性能核算5犁涝判WEB翼服务器集群践性能核算锄赞5处柔听WEB油服务器集群穗内存性能核简算道疗5膜若笛网络带宽赖腥5僚4笨陶性能模拟测驾试及性能推屈算呈普6鸽4.1骗寒测试环境迎俗6饼4.2扩泄测试结果狂叫8词碗累1歉个客户端模颂拟不同线和晕并发请求结待果滥怜8岛罩程10军个客户端请教求邀呼8编4.3快泻结果分析故霞9袋4.4蹄叠根据测试结以果推算伞乓9锹4.5拾敬设备清单后吵11炒马五硬件设备配惨置清单棍铺11味货络设备技术规移格妖戏12巷4.6额尤平台扩容的只建议答蕉12耀网站的集性能瓶颈分冬析抢网站的性能海影响因素很营多,下面主拴要从猪如下秀4个方面进扇行分析说明湿:网络负载公网负载内网负载迹WEB辆应用要服务器性能CPU六存储,I/模O访问内存队并发TCP沾/IP连接置数告数据库服务鼓器性能岗数据库参数桐配置葵服务器性能没(CPU、捡内存、存储汇)尼数据结构的筋合理性堵不同笨WEB床应用的处理基方式腰而对不同的斥性能瓶颈魄对于静态的途网站:沟静态的HT叠ML页面严扫格地由标准怀的HTML惰标示语言构霞成,并不需妄要服务器端炸即时运算生绵成。这意味晌着,对一个直静态HTM蔽L文档发出昨访问请求后迫,服务器端兵只是简单地触将该文档传珠输到客户端弯。从服务器异运行的那个孕时间片来看懂,这个传输预过程仅仅占端用了很小的塑CPU资源持。勤对于蓬静态HTM钉L的访问四瓶颈为诵:网络带宽蛇、磁盘I/换O以及ca社che(高重速缓冲存储式器)薪。垒对于动态页泰面柔因为服务器棚解析训动态页面吴必须在其传命输到客户端习前就通过服剪务器来进行梨解释,内这样就会给予应用服务器向添加额外的疯性仿能消耗,如偷果进一步要批访问数据库乓,则会增加扯数据库服务依器的性能消蝇耗,则动态姐页面还有额者外的瓶颈:卫应用服务器晨的性能,数歇据库服务器验的性能。屿系统乡架愚构左设计总体思路蒸为提高网站唐的高并发性亮能,提高开盈发效率及运炎营效率,主胁要按如下几太个思路进行裁规划设计:负载均衡聪四层交换歉负载均衡跨:芳采用负载均弱衡器来实现轻硬件级的四刃层交换负载毯均衡,或采退用括LVS刑来实现软件津的四层交换孩负载均衡。奏通过第三方冲软件来实现祖负载均衡祖,同时实现访页面请求的禾缓存。鲁通过Ngi臣nx实现反政向代理服务花器集群,同慎时姻搭建squ员id集群柳以作为静态酷页面和图片越的缓存。养通过web工服务器的配贿置来实现负责载均衡轰即通过河apach方e情或是Ngi两nx朗将客户请求圾均衡的分给谢tomca轻t1,to敞mcat2葛去件处理如。湿WEB应用掀开发弊架构思路暖应用开发实电现MVC架所构三层架构鹊进行web裤应用开发吸页面尽可能面静态化以减泽少动态数据秋访问盒,如果是资奉讯类的网站绣可以考虑纷采用第三方烦开源的CM京S系统来控生成静态的房内容页面翠。兰采用纹Oscac范he实现且页面缓存宿,采用Me宗mcach魄ed实现尤数据缓存妖采用独立的贺图片服务器因集群来实现导图片资源的患存储及WE排B请求识数据存储的弹设计思路盲数据库拆分仪,把生产数淋据库和查询秀数据库分离递,对生产数愿据库采用R却AC实现数相据库的集群澡。阴采用蜜高效的凉网络文件共告享狱策略叔,采用图片垫服务器来实洞现页面的图傍片存储。谜不同网络用腾户访问考虑怎通过引入C晚DN来解决作不同网络服搜务商的接入揭速度问题仓,一般只能敬解决静态页代面的访问问诚题。污在不同运营见商机房部署清服务器,也通过镜像技需术来实现不与同网络服务仔商的接入速呀度问题。总体架构灯网站的援系统保分层语架构旺网站的物理垃架构碑网站的遗开发伯架构伞网络寇拓扑结构备注:怜采用双防火易墙双交换机巡做网络冗余姨,保障平台标服务南采用双防火抓墙通知接通堤2线路互联茄网接入,设美备之间采用首VRRP协领议,在任何网一个防火墙晓、互联网发水生故障后均壤可自动将流嗓量切换到另回一端,保证庆网站的正运绣行,设备或腾网络恢复后蜂,自动恢复亏。夹采用双千兆酸交换机分别夏接在2台防廊火墙上,当仁某台设备或歉者网络链路吧发生故障后代,好设备自叉动接管已坏慎设备的工作吵,不影响网庭站的整体运鹿行,根据业斥务及真实服起务器的数量动,交换机可盛以随时增加剂。倘采用硬件设京备负载均衡川器,实现网典络流量的负瑞载均衡务使用硬件设励备负载均衡券器,将网络视流量均衡的刺分担到WE狂B服务器集派群各节点服妈务器,保障鸽平台服务器吸资源均衡的欺使用。惠采用代理服练务器,实现评软件级的网涌络负载均衡短。圆数据库服务熄器分离成生鞭产数据库集奴群和查询数请据库集群,棚实现生产读辟写与后台查蓬询统计进行足分离,同时膊生产数据库伐采用rac乔技术进行遭架构涉及技尽术的详解负载均衡码基于DNS申的负载均衡才--一个域挣名绑定多个墓IP挽DNS负载销均衡技术是海最早的负载往均衡解决方咬案,它是通扭过DNS服鹿务中的随机杯名字解析来突实现的,在丘DNS服务予器中,可以帜为多个不同雾的地址配置婚同一个名字吊,而最终查旦询这个名字奸的客户机将梢在解析这个虏名字时得到钥其中的一个识地址。因此北,对于同一杆个名字,不滋同的客户机亡会得到不同掘的地址,它鸭们也就访问骆不同地址上镜的Web缴服务器,从派而达到负载牧均衡的目的录。帆这种技术的缝优点是,实症现简单、实评施容易、成学本低、适用枯于大多数T畜CP/IP成应用;但是亡,其缺点也键非常明显,鹊首先这种方纹案不是真正痕意义上的负色载均衡,D出NS服务蔬器将Htt胃p请求平均告地分配到后蕉台的Web沃服务器上,偿而不考虑每伸个Web服舍务器当前的倾负载情况;梢如果后台的爱Web服务弄器的配置和杨处理能力不础同,最慢的浙Web服俭务器将成为研系统的瓶颈耳,处理能力专强的服务器石不能充分发辣挥作用;其蚂次未考虑容态错,如果后俗台的某台W孟eb服务器问出现故障,恋DNS服务约器仍然会把的DNS请馋求分配到这资台故障服务政器上,导致挣不能响应客努户端。最后巴一点是致命哑的,有可能者造成相当一摇部分客户不制能享受We害b服务,并志且由于DN裕S缓存的原纠因,所造成离的后果要持暮续相当长一锣段时间(一蛮般DNS的煮刷新周期约扮为24小时但)。所以在教国外最新的醉建设中心W争eb站点方倦案中,已经衫很少采用这川种方案了槽。番通过硬件饲四层交换步实现负载均席衡病在硬件四层借交换产品领唤域,有一些筒知名的产品忧可以选择,煤比如Alt释eon、F炸5等,这些雷产品很昂贵旷,但是物有星所值,能够粮提供非常优暮秀的性能和慧很灵活的管爆理能力。Y形ahoo中撒国当初接近策2000台还服务器使用厉了三四台A轻lteon禽就搞定了闸通过拒软件四层交惕换翅实现负载均荣衡米软件四层交纪换我们可以裂使用Lin陕ux上常用垄的LVS来别解决,LV另S就是Li必nuxV陕irtua众lSer糕ver,他渗提供了基于壳心跳线he扔artbe鼠at的实时涛灾难应对解钓决方案,提愿高系统的鲁熄棒性,同时升可供了灵活咬的虚拟VI涂P配置和管织理功能,可贺以同时满足凶多种应用需由求,这对于司分布式的系盼统来说必不糖可少。挪一个典型的秆使用负载均稿衡的策略就椒是,在软件今或者硬件四走层交换的基等础上搭建s酿quid集缎群,这种思焰路在很多大滑型网站包括阀搜索引擎上芹被采用,这扁样的架构低晌成本、高性钢能还有很强响的扩张性门。窝通过杆反向代理服载务器猎实现负载均醉衡绩反向代理服盏务器又称为央WEB鹅加速服务器绵,它位于掠WEB服距务器的前端谱,充当寒WEB板服务器的内图容缓存器烂,爹反向代理服匀务器是针对狠WEB芽服务器设置挽的,后台渔WEB服格务器对互联则网用户是透芳明的,用户甩只能看到反赞向代理服务达器的地址,味不清楚后台盐WEB垒服务器是如袋何组织架构资的。当互联植网用户请求秘WEB星服务时,D滋NS将请衡求的域名解赞析为反向代完理服务器的忌IP地书址,这样技URL请畅求将被发送书到反向代理源服务器,由兔反向代理服极务器负责处岭理用户的请届求与应答、循与后台W担EB服务某器交互。利盈用反向代理临服务器减轻点了后台W芹EB服务越器的负载,俯提高了访问竟速度,同时鹊避免了因用肿户直接与睡WEB服嘴务器通信带仍来的安全隐揭患。猛目前有许多模反向代理软探件,比较有摆名的有N惯ginx疑和Squ竞id。戚Nginx嫩是由I亩gorS记ysoev妨为俄罗斯叔访问量第二舞的Ram葡bler.东ru站点贱开发的,是残一个高性能煮的HTT墙P和反向剥代理服务器初,也是一个私IMAP花/POP3功/SMTP吩代理服务绩器。目Squid邪是由美国政研府大力资助迫的一项研究完计划,其目葵的为解决网纵络带宽不足微的问题,支腥持渣,坑S,FTP校等多种协枝议,是现在泡Unix文系统上使袄用、最多功锋能也最完整睬的一套软体久。免Squid语赴Squid催是一个开售源的软件,折利用它的反渐向代理技术热可以提高网竞站系统的访徐问速度究,下面将重滑点介绍S确quid乞反向代理的势实现原理和识在提高网站聚性能方面的喊应用。嚼Squid替反向代理服致务器位于本捡地WEB漫服务器和著Inte兄rnet稻之间,絮组织架构如各下施图:弱客户端请求朝访问WE坦B服务时如,DNS雅将访问的域县名解析为脸Squid停反向代理赠服务器的训IP地址江,这样客户株端的UR材L请求将艘被发送到反慢向代理服务旗器。如果炒Squid允反向代理瓜服务器中缓早存了该请求玩的资源,则安将该请求的柴资源直接返良回给客户端俗,否则反向俯代理服务器爪将向后台的坑WEB狡服务器请求蝴资源,然后找将请求的应限答返回给客郊户端,同时阶也将该应答慰缓存在本地谣,供下一个融请求者使用浆。壁Squid宁反向代理连一般只缓存策可缓冲的数膛据(比如与html誉网页和图片牛等),而一材些CGI歉脚本程序展或者AS茶P、JSP佣之类的动渗态程序默认他不缓存。它辈根据从W要EB服务芹器返回的臣迟头标记来缓鲜冲静态页面膜,盆有四个最暂重要HT轰TP头标往记:蹄Last-尾Modif羡ied:蜓告诉反向代秋理页面什么暂时间被修改娃Expir际es:告喊诉反向代理端页面什么时度间应该从缓傅冲区中删除圾Cache与-Cont滑rol:疼告诉反向代万理页面是否显应该被缓冲弃Pragm糊a:用来鼓包含实现特捏定的指令,饮最常用的是柿Prag芹ma:no弓-c夜ache取注:锄DNS划的趣轮询机制将卷某一个昼域名解析为洗怖多个IP地祥址跳。Nginx谦Nginx勒(黎“伞engin佛ex比”隆)是俄罗采斯人Igo乖rSys浴oev(塞幸索耶夫)编克写的一款高系性能的H牌TTP和延反向代理服郊务器。躺Nginx钳已经在俄须罗斯最大的港门户网站感──前Ramb刚lerM寄edia(身r施amble缘r.ru)慢上运行了4菊年时间,同范时俄罗斯超器过20%的芳虚拟主机平抢台采用Ng茂inx作为谜反向代理服代务器。短在国内,已讲经有新浪博纺客、新浪播野客、搜狐通谢行证、网易茶新闻、网易俩博客、金山敌逍遥网、金吩山爱词霸、远校内网、Y尝UPOO相买册、豆瓣、倍迅雷看看等有多家网站、嚼频道使用着Nginx耽服务器。居Nginx主特点逗如下:赔工作在彼OSI模型析的第7层(扩应用层蛮)高并发连接贤官方测试能扇够支撑5万织并发连接,后在实际生产杆环境中跑到杠2~3万并笑发连接数。兔内存消耗少挡在3万并发巩连接下,开俊启的10个艺Nginx桌进程才消收耗150M隆内存(15叔M*10=彻150M)彩。尚配置文件非择常简单分风格跟程序询一样通俗易节懂。成本低廉哥Nginx苏为开源软件其,可以免费值使用。而购炒买F5B南IG-IP灰、NetS关caler炎等硬件负载县均衡交换机心则需要十多板万至几十万慨人民币。只支持Rew膨rite重连写规则造能够根据域织名、URL稼的不同,将挎母请求分到冬不同的后端曾服务器群组齐。东内置的健康鞭检查功能备如果Ng栽inxP劈roxy痕后端的某台支Web千服务器宕机掩了,不会影匙响前端访问酸。节省带宽稍支持GZ配IP压缩兆,可以添加佣浏览器本地守缓存的H讯eader新头。稳定性高制用于反向代雷理,宕机的至概率微乎其撞微。忌Nginx薯+施squid屿页面典缓存吓来实现伴反向代理负毒载均衡店通过Ngi搂nx反向代终理近和squi拨d缓存别实现动静分挣离的誉架跟构图如下所贿示:载A糠pache器只+tomc隙at习集群伸实现较负载均衡础。宰使用ap燥ache和饺多个tom箭cat配谁置一个可以绵应用的we盾b网站,鹊用Apac拥he进行分垒流,把请求浪按照权重以疾及当时负荷舰分tomc清at1,t宏omcat义2...去胸处理逆,要达到以膀下要求:劝Apach宗e做为H视ttpSe让rver删,通过mo既d_jk连除接器连接多午个tom传cat应誉用实例,并遮进行负载均熔衡。原同时还要配佳置五sessi准on复制,六也就是说其纺中任何一个瓜tomca直t的添加的认sessi破on,是要港同步复制到生其它tom洲cat,带集群内的t盟omcat缺都有相同的著sessi爹on匙,并为系统秤(包括A榆pache篮和to握mcat)仆设定Se飘ssion伐超时时间乳。缓存点系统兽架构方面的歪缓存连S投quid缓度存偏眉架构方面使爽用Squi滴d进行缓存俩。己注:责SQUID写使用了LM丙算法,LM遵就是页面H由eader岩里时间(D饼ate)和城Last-歪Modif己ied时间样的差。Da忘te一般是评Squid县从后面取页纲面的时间,墨Last-欣Modif浙ied一鞠般是页面生痰成时间。念Nginx炒的缓存功能迫Nginx刮从0.7.临48版本开记始,支持了杨类似Squ输id的缓存卷功能;可缓存把UR副L及相关组民合当作Ke洋y,用md慌5编码哈希狱后保存;蒜Nginx土的Web缓历存服务只能这为指定UR挣L或状态码万设置过期时丘间,不支持馅类似Squ饰id的PU添RGE指令肾,手动清除笨指定缓存页掩面;晃采用MMA矩P实现,设悬置的缓存区豆大小不能超套过物理内存碰+S炼WEB传的值悉基于mem胜cache员d的缓存宋nginx牌对其memca稳ched亦有所支持,灭但是功能并福不是特别之舞强,性能上握还是非常之好优秀。蚕locat汗ion/爽mem/具{谷
i疑f($并uri~链"^/m倒em/([突0-9A-颂Za-z_麦]*)$"织)省
{麦浅set$尿memca旷ched_阅key"登$1";拒敌memca写ched_驰pass
翅
1影92.16往环:1121灶1;蜻
}帜
e悠xpire帐s70;券}丛这个配置会疮将酷://su灾done.坊com/m冲em/ab建c指明到m奉emcac严hed的a吸bc这个k系ey去取数祸据。臣N蚁ginx目阿前没有写入循memca们ched的从任何机制,潮所以要往m惩emcac氧hed里写赚入数据得用航后台的动态遮语言完成,艰可以利用4认04定向到铲后端去写入华数据。使N澡ginx传敢统缓存的缺羡点也是它和捎squid恭等缓存软件慢的不同之特疲色,所以也榜可看作其优瘦点。在生产咳应用中它常利常用作和s矛quid的旬搭档,sq么uid对于堆带?的链接峰往往无法阻搂挡,而ng今inx能将谱其访问拦住个,例如:h油ttp:/尺/sudo苏ne.co惠m/?和h液ttp:/换/sudo斯ne.co象m/在sq枝uid上会信被当做两个亚链接,所以他会造成两次柄穿透;而n挪ginx只议会保存一次沉,无论链接邪变成htt串巨udone缴/瞧?1还是h已ttp:/便/sudo捉ne.co相m/?12父3,均不能弊透过ngi逃nx缓存,更从而有效地掘保护了后端挪主机。饮nginx乐会非常老实贼地将链接形活式保存到文昨件系统中,戴这样对于一仇个链接,可篮以很方便地铁查阅它在缓持存机器上的雨缓存状态和恳内容,也可灵以很方便地奇和别的文件馆管理器如r食sync等肾配合使用,撞它完完全全才就是一个文肿件系统结构隔。溉应用程序丧方面的缓存蚕OSCac旁he鹿OSCac西he由Op删enSym输phony械设计,它是蚂一种开创性贪的JSP定隐制标记应用抹,提供了在指现有JSP堆页面之内实万现快速内存浮缓冲的功能漫,宅OSCac抵he是个一宵个广泛采用且的高性能的券J2EE缓熄存框架,O限SCach记e能用于任丙何Java泉应用程序的别普通的缓存音解决方案。按OSCac筋he有以下驾特点:缓存弃任何对象,烛你可以不受察限制的缓存贴部分jsp答页面或HT捉TP请求,帜任何jav碌a对象都可犁以缓存。拥圾有全面的A斩PI--O煎SCach诚eAPI端给你全面的舍程序来控制咐所有的OS屋Cache盆特性。永久匆缓存--缓简存能随意的回写入硬盘,初因此允许昂乐贵的创建(轿expen煌sive-窄to-cr纯eate)复数据来保持贞缓存,甚至桥能让应用重焦启。支持集痛群--集群序缓存数据能冲被单个的进别行参数配置然,不需要修仍改代码。缓怒存记录的过华期--你可贝以有最大限轧度的控制缓哑存对象的过踏期,包括可多插入式的刷耀新策略(如滑果默认性能付不需要时)衬。勤OSCac译he是当前霜运用最广的烛缓存方案术,JBos停s,Hib门ernat挤e,Spr海ing等都泼对其有支持隙。燥OSCac然he的特点纱:估1)缓存咽任何对象:延你可以不受桨限制的缓存各部分jsp扁页面或HT方TP请求,介任何jav趟a对象都可镇以缓存。侄2)拥有寨全面的AP苍I:OSC命ache蛮API允许糊你通过编程练的方式来控剥制所有的O艘SCach级e特性。距3)永久调缓存:缓存沈能被配置写丝入硬盘,因蚊此允许在应益用服务器的逢多次生命周渗期间缓存创姜建开销昂贵莲的数据。烛4)支持测集群:集群承缓存数据能超被单个的进牲行参数配置灰,不需要修猾改代码。效5)缓存丹过期:你可氏以有最大限盯度的控制缓夜存对象的过疑期,包括可探插入式的刷市新策略(如踩果默认性能象不能满足需傅要时)。优Memca捷ched去memca终ched是搂高性能的怎分布式内存态缓存服务器订。一般的使翠用目的是,河通过缓存数泽据库查询结阶果,减少数经据库访问次泥数,以提高荒动态Web物应用的速度胸、提高可模扩展性。俗M珠emcac庄hed是以经Key/V小alue的滨形式单个对显象缓存。肾自主开顾发的触内存狂数据缓存服壁务眉独立进程方紧式的缓存服狐务棚对于一些常泳用的动态数医据通过开发枝程序服务缓糠存明在内存中升,提供给其趋他子系统调导用,如下面辈的数据就可勉以通过这样钱方式进行缓蚁存。异用户基本信谜息及状态的滚信息缓冲旨列表缓存,箭就像论坛里乓帖子的列表过记录条数的肯缓存,比如燃一个论坛板男块里有多少饿个帖子,这因样才方便实捡现分页。锋复杂一点的井group属,sum,寒count迹查询,比如衣积分的分类肤排名燃集成在望WEB应用热中忽的内存缓存忠在web应属用中炊对于热点的无功能,考虑扮使用完全装鱼载到内存,玻保证绝对的梳响应速度,奖对于需要频申繁访问的热犁点数据,采迁用集中缓存寨(多个可以鸟采用负载均已衡),减轻语数据库的压绍力,比如:迟很多配置信辰息,操作员澡信息等等。页面静态化陈静态的HT宝ML页面严尽格地由标准仆的HTML因标示语言构值成,并不需唤要服务器端此即时运算生睡成。这意味悉着,对一个争静态HTM走L文档发出卫访问请求后拉,服务器端变只是简单地蚊将该文档传贡输到客户端看。从服务器岁运行的那个慨时间片来看蓝,这个传输爸过程仅仅占打用了很小的城CPU资源总。拐页面院静态化盒就是采用缺效率最高、感消耗最小的悬纯静态化的捡html页酷面朵来替换动态室页面。荡我们尽可能爬使我们的网馆站上的页面穗采用静态页棚面来实现,赌这个最简单南的方法其实炒也是最有效番的方法请。血同时采用第说三方开源的用CMS剖系统来实现规网站内容的恰管理。惯对于大量内煌容并且频繁班更新的网站霉,我们无法娃全部手动去恋挨个实现骑页面静态化症,烈所以我们需法要引入傅常见的信息治发布系统冈(婆CMS卫)迅,信息发布帅系统递(CMS)旷可以实现最钞简单的信息坛录入自动生芹成静态页面遗,锣对于一个大态型网站来说扇,拥有一套低高效、可管骂理的CMS侮是必不可少逮的。围同时,HT贼ML静态化能也是某些缓车存策略使用剃的手段,对娇于系统中频恩繁使用数据爷库查询但是剧内容更新很昨小的应用,溜可以考虑使现用HTML忽静态化来实出现,比如论颂坛中论坛的偷公用设置信献息,这些信仰息目前的主慕流论坛都可竟以进行后台纹管理并且损存储丝再数据库中职,这些信息所其实大量被寒前台程序调音用,但是更社新频率很小熟,可以考虑杀将这部分内待容进行后台宇更新的时候誉进行静态化柏,这样避免裂了大量的数此据库访问请卧求。哥在进行ht正ml静态化绣的时候急还倍可以使用一陆种折中的方肤法,就是前衣端福继续与使用动态实膝现,在一定饿的策略下违通过后台模灯块皮进行定时比把动态网页构生成喷静态临页面,并定仗时判断调用折,这个能实境现很多灵活题性的操作。畅为了提高静拨态HTML狠的访问效率广,主要可以叔对以下几个纳方面进行优熟化:网络带萍宽、磁盘I喷/O以及c便ache(历高速缓冲存沃储器)。救数据库脾配置及优化数据库集群目忧对生产数据赚库采用RA狗C实现数据右库的集群。再数据库及表状的散列匪把生产数据斥库和查询数忆据库进行分脖离,针对系吐统业务数据侨的特点,把副大的表进行血拆分,对于啦访问较多的遍表采用分区萄表。战使用读/写颈数据库分离话,随着系统踪变得越来越躬庞大,特别血是当它们拥夏有很差的颤SQL时,胶一台数据库裂服务器通常污不足以处理轿负载。但是栋多个数据库殖意味着重复监,除非你对志数据进行了梯分离。更一嘉般地,这意纺味着建立主哈/从副本系申统,其中烘程序会对主脊库编写所有扣的Upda孙te、In滑sert和黑Delet巧e变更语句阅,而所有S露elect醒的数据都读允取自从数据鲜库(或者多拉个从数据库傻)。映尽管概念上烛很简单,但刮是想要合理羊、精确地实歇现并不容柜易,这可能碌需要大量的冬代码工作。慰因此,即便雹在开始时使昂用同一台数筝据库服务器湖,也要尽早触计划在PH借P中使用分哀离的DB连世接来进行读售写操作。如竿果正确地社完成该项工眨作,那么系义统就可以扩瓶展到2台、赚3台甚至1视2台服务器么,并具备高越可用性和稳促定性。歼拥有良好的技DB配置和效备份售很多公司都牵没有良好的冬备份机制,伤也不知道如表何恰当地株完成这项工挨作。裁只有imp秒是不够的,尿还需要笼进行热备份真,从而得到交超快的速度跟和超高的可虚靠性。央另外,在将渣所有备份文恰件从服务器爆上转移出来娇之前要进行更压缩和加密死。另外还要组确保拥有设胶计合理的、和有用的关于裂安全、性能既和稳定性问晒题的设定,锈包括防止数苗据败坏,其戚中很多设定欣都是非常重皮要的。文件存储文件共享刃HDFS(秀GFS)免HDFS是我Apach厘eHad泡oop项目医中的一个分晚布式文件系植统实现,基肺于Goog牢le于20校03年10抵月发表的G浊oogle冲File中Syst枪em(GF许S)论文。特性硬件要求低高容错性易可扩展配置简单超大文件肉HDFS采效用mast炎er/sl鸡ave架构联。介真一个HDF抓S集群是由每一个Nam华enode灶和一定数目樱的Data智nodes生组成。占NFS与G咬FS比较碍首先从它们借的功能上进堵行分析。N姜FS即网络绵文件系统,盒是由SUN尿公司开发的援。它是Fr够eeBSD那支持的文件蜘系统中的一哥种,允许一炕个系统在网兵络上与它人门共享目录和炭文件。通过跑使用NFS帝,用户和程码序访问远端散系统上的文炼件就像访问挖本地文件一遍样。仙而GFS是犬Googl坊e为了满足推本公司迅速新增长的数据航处理要求而酸开发的文件胞系统。GF告S是一个可鼻扩展的分布虾式文件系统瘦,用于大型箱的、分布式享的、对大量胳数据进行访灵问的应用。事它是针对G唱oogle牧的计算机集打群进行设计季的,专门是腿为Goog由le页面搜逆索的存储进头行了优化。冶所以从功能蒜上看,它们榨两者是完全罚不同的概念驼。良其次从结构沈上比较,N幻FS至少包诵括两个主要瓶部分:一台话服务器,以始及至少一台胸客户机。被作共享的目录吵和文件存放承在服务器上获,客户机远报程地访问保府存在服务器蝴上的数据。丈GFS则由铅一台Mas杨ter(通高常有几台备谱份)和若干搅台Trun予kServ印er构成。料GFS中文袍件备份成固完定大小的T痕runk分遮别存储在不俯同的Tr欧unkSe辩rver上俘,每个Tr目unk有多舰份(比如3祥)拷贝,也劳存储在不同胖的Trun金kServ众er上。M极aster卧负责维护G巴FS中的肆Metad带ata,即荷文件名及其歉Trunk喘信息。客户订端先从Ma努ster上该得到文件的薪Metad臂ata,根绪据要读取的子数据在文件胜中的位置与晶相应的T舒runkS愧erver越通信,获取遗文件数据。凡再从跨平台作性上,NF熄S的基本原矮则是机“原容许不同的其客户端及服肺务端通过一胳组RPCs办分享相同的撞文件系统下”梳,它是独立迅于操作系统愧的,容许不适同的操作系痛统共同地进约行文件的共谱享。灶而GFS则暂没有这一特味点,文件只腐能被集群系肝统中的PC狡所访问,而者且这些PC版的操作系统遗一般是Li般nux。扭最后从规模佩上比较,万HDFS只腰应用在大批豪量的数据共俊享上拢。序目前Goo家gle拥有陷超过200鞠个的GFS借集群,其中烟有些集群的棚PC数量超宾过5000索台。集群的喇数据存储规砖模可以达到泛5个PB,律并且集群中援的数据读写端吞吐量可达监到每秒40盲G。矮而NFS一栽般没有这么约巨大的规模壁。福文件的多服护务器自动同规步猾秧使用Lin梦ux2.研6内核的i退notif偿y监控Li群nux文件割系统事件。辫缘利用开源的兼lsync肥监听某一目问录,如果目默录内文件发报生增、删、紧改,利用R到sync协叹议自动同步袖到多台服务附器。肆图片服务器笑分离撕屠特别是如果败程序与图片虽都放在同一恭个APA悠HCE的即服务器下,殖每一个图片崇的请求都有护可能导致一饲个HTT京PD进程鹊的调用。懒使用独立的连图片服务器乔不但可以避垃免以上这个乏情况,更可穗以对不同的沉使用性质的李图片设置不牵同的过期时豆间,以便同产一个用户在天不同页面巾访问相同图籍片时不会再惹次从服务器浪(基于是缓赌存服务器)役取数据,不阴但快速,而适且还省了带祥宽。还有就熟是,对于缓坏存的时间上帮,亦可以做煤独渠立的调节。叛网络问题解腔决方案甜你不可能要指求所有的使商用人员,都夏和你的服务原器在一个运浩营商的网络巩内拍,而不同网稠络之间访问奏速度会很慢橡,灿我们可以采杠用镜像网站应和窗引入擦CDN贿来解决这一四问题核。冻智能DNS棋解析恳我们可阵以在不同的刘网络运营租商部署we颜b服务器,裙通过lin壁ux上的r薄sync工冷具自动同步捉到桶不同网络接踪入商的we鸦b再服务器义上矿,以作为主津站的镜像。似然后通过配誓置智能DN恶S解析来蜓引导不同网芳络的访问用商户到对应的欺网络运营商袋的web服旗务器。CDN侦如果有足够鼓的投资,套也渠可以采用C仓DN(内容串分发网),币把静态内容邻(静态页面暑和图片)衫进行CDN痕缓存,以药减轻服务器林压力。穷CDN的全聋称是Con丙tent高Deliv延eryN戏etwor率k,即内容唱分发网络。水它采取了分条布式网络缓灶存结构(即些国际上流行或的web化cache证技术)川,经其目的是通捧过在现有的松Inter盈net中增艺加一层新的旱网络架构,庙将网站的内给容发布到最傅接近用户的唉网络"边缘经",使用户耗可以就近取做得所需的内喝容,解决甜Inter庆net网络禁拥挤的状况愉,提高用户盯访问网站的射响应速度。张从技术上全抢面解决由于织网络带宽小突、用户访问纱量大、网点恼分布不均等小原因所造成瓣的用户访问勉网站响应速正度慢的问题变。(也就性是一个服务片器的内容,传平均分部到虹多个服务器溜上,服务器厚智能识别,剧让用户获取圈离用户最近派的服务器,拆提高速度。侮目前,国内妇访问量较高抬的大型网站灾如新浪、网棵易等,均使寄用CDN网纪络加速技术寇,虽然网站蚀的访问巨大替,但无论在眠什么地方访撤问都会感觉听速度很快。殖而一般的网磨站如果服务胃器在网通,持电信用户访桑问很慢,如汤果服务器在汪电信,网通鹅用户访问又愚很慢。替WEB应用垮开发解架构设计思狭路村基于MVC猾的三层应用乞开发架构牌应用开发实载现MVC三弹层架构进行适web应用乌开发深,采用则ibati撤s作为持久梳层框架,缸c3p0作产为数据库连挑接池。练iBATI誓S是一个婆可以设计和饱实现更好的层Java侦应用程序斥持久化层的委框架。iB葡ATIS肆把对象和存泪储过程或者壤使用XM瞧L描述符尽的SQL龟语句进行陪了关联。板简单是i立BATIS昼最大的优幻势甘ibati奇s-使用i液batis涝的十个理由循1.垄至少能桥操作10种充以上的数据弯库段2.可配怠置的cac桥hing(稼包括从属)壶3.支持婆DataS粘ource劲、loca狭ltra筑nsact倚ionm视anage澡men和g滋lobal腹tran孤sacti瞎on蓝4.简单忆的XML配猴置文档同5.支持遍Map,燃Colle湖ction胡,Lis搜t和简单类遣型包装(如切Integ驰er,S表tring似)邪6.支持属JavaB混eans类悟(get/按set方葛法)携7.支持拦复杂的对象崖映射(如p抬opula牛ting两lists惰,com等plex种objec堪tmod贺els)泊8.对象增模型从不完列美(不需要狱修改)船9.数据厅模型从不完作美(不需要丢修改)与10.你岩已经知道S牌QL,为什滩么还要学习柳其他东西佩MVC架构添示意攀Strut验s架构吵客户端发送香一个HTT访P请求,通臣过Stru究ts框架最煌后获得一个锁响虎应,这一过亲程非常重要降,它是理解绵Strut艇s框架的重架点。上图描虎述了Str源uts框架殃的结构,而润下图通过一俊个活动图更腰具体描述接京受请求直至塘返回响应的辨整个过程升:欧面向服务的刷应用架构谦面向服务的之应用架构是蹲指玉构建可祸分布式的、寇去中心化的陪服务器平台亏,材以双提供许多不尼同的应用,仔数医据库被分成房很多个小部圣分,围绕每踏个部分都会症创建一个服彼务接口(A螺PI),并伍且该接口是将访问数据库掉的唯一途径页。最终数据贸库演变成一省个非常庞大畜的共享资源狸。订这种骂架构是松散萌耦合的,并店且围绕着服矮务进行构建分。面向服务斯的架构提供案给他们隔离什特性,一个谅服务可能有替很多台数据瞒库服务器,灯他们之间的蓝数据是相通体的,而对外仓他们的接口终只有一个,馆外面是无法神知道这个服蛛务后面的数诵据组织是如由何搭建的。差这样就殿有了越来越渣多的应用服池务器。这些氧应用服务器织从数据众多惰的服务(每扛个服务背后度都有数据库泪或集群数据微库)中聚合嗓信息,然后展生成我们所录看到的Am已azon.练com的各由个网站页面毛。次这样略各种服务如邀插件一样组凡成了一个开稿放的平台,绞这样诊团队传的障规模征就会比较小伍,比较灵活扒。笨注孕Amazo敏n狭就是采用了犬这种架构来帜构建的,势它拥有上千晒台服务器。额系统爬软件的参数凡优化荡在一定的架存构基础上,箩要提高并发西处理能力则预需要调整服拥务器的操作息系统内核参鉴数、web邀服务器(t批omcat哥的参数、a火pache钻的参数、N曾ginx的阅参数),以帮使其性能达葬到最优化。家操作系统优咸化冒调整系统的晶内核参数,酷增大连接数芬及TCP/决IP的超时滚设置。览L务inux系沫统中:漂在/etc昌/sysc燕tl.co折nf配置文帜件中增加如同下内核参数因:听net.i谋pv4.t槽cp_sy且ncook御ies=每1才net.i荐pv4.t本cp_tw啄_reus课e=1施net.i藏pv4.t茂cp_tw至_recy蒙cle=依1皱net.i锤pv4.t碑cp_fi页n_tim亡eout骗=5怨tomca讲t服务器优袋化涉增大并发连您接数,权调整沿内存参数的葡设置萌。悄1、JDK敲内存优化:牌当应用程序唐需要的内存枯超出堆的最在大值时虚拟傅机就会提示币内存溢出,崖并且导致应嫂用服务崩溃蠢。因此一般剃建议堆的最检大值设置为尊可用内存的守最大值的8贤0%。T寺omcat圈默认可以使茧用的内存为理128MB听,在较大型侮的应用项目举中,这点内委存是不够的暂,需要调大析.行Tomca混t默认可以离使用的内存芦为128M偏B,Win锦dows下涌,在文件/征bin/c姥atali帆na.ba罩t,Uni叛x下,在文圣件/bin夏/cata肌lina.飞sh的前面夸,增加如下哈设置:J舌AVA_O菌PTS='晶-Xms【邀初始化内存乡大小】-吗Xmx【可锹以使用的最拘大内存】'好需要把这盐个两个参数全值调大。例诊如:JA柿VA_OP衬TS='-穷Xms25同6m-X池mx512佩m'表示丙初始化内存抖为256M蝶B,可以使知用的最大内窝存为512价MB。进2、连接器香优化:在窗tomca划t配置文件域serve辆r.xml术中的配置中亩,和连接数恒相关的参数仇有:趁maxTh屯reads毙:Tom纤cat使用火线程来处理叨接收的每个星请求。这个扰值表示To岁mcat可购创建的最大慨的线程数。候默认值15劲0。泼accep跪tCoun朱t:指定密当所有可以程使用的处理饭请求的线程胞数都被使用梅时,可以放蚊到处理队列拔中的请求数摔,超过这个确数的请求将淋不予处理。纳默认值10津。炮minSp捉areTh拢reads臭:Tom惜cat初始屯化时创建的松线程数。默绍认值25。粘maxSp插areTh凡reads赶:一旦创觉建的线程超样过这个值,尖Tomca吨t就会关闭谊不再需要的胆socke亡t线程。默犁认值75。区enabl奋eLook跌ups:贸是否反查域腹名,默认值差为true劫。为了提高触处理能力,蝴应设置为f续alse烤connn法ectio期nTime历out:落网络连接超艘时,默认值荐60000泡,单位:毫隔秒。设置为旬0表示永不符超时,这样涉设置有隐患玉的。通常可柜设置为30耀000毫秒乘。铸maxKe馅epAli把veReq链uests挑:保持请昨求数量,默递认值100达。buf爸ferSi淋ze:输坚入流缓冲大康小,默认值嗽2048除bytes昆。济compr跨essio御n:压缩矛传输,取值膊on/of糕f/for斯ce,默认拖值off。晕其中和最盘大连接数相牧关的参数为雹maxTh看reads闯和acce茅ptCou独nt。如果券要加大并发培连接数,应米同时加大这搅两个参数。瓶webs绣erver健允许的最大垂连接数还受狂制于*作系冰统的内核参治数设置,通奸常Wind称ows是2碌000个左厨右,Lin特ux是10跪00个左右稻。踩apach贤e服务器优馆化雅加大并发数征量和关闭不肯需要的模块片。因盛为apac脱he非常消羽耗内存,尽重量轻周量化。幼Apach霉e在配置C欢onten明tType嫂的时候可以亮尽量少支持既,尽可能少确的Load界Modul笛e,保证更既高的系统消你耗和执行效燃率贸同时配置a匙p训a假che和t骂omcat巡的组合使之工能作到动静谷分离,ap客ache处膏理静态页面昂,tomc逼at处理动竿态页面。候在处理静态局页面或者图嘴片、js等僵访问方面,魄可以考虑使章用继light停tpd火代替Apa驼che,它印提供了更轻讲量级和更高五效的处理能培力赔Nginx欢服务器的优莲化赴worke觉r_pro俗cesse桃s依:该参数的田值最好跟c俩pu核数相趋等,能够发秆挥最大性能宝,如果ng霸inx所在龟服务器为2才颗双核cp回u,则建议侧设定为4。差W兰eb服务架艘构广评测烤主要对基于吴tomca蝴t和ngi店nx+to蓝mcat的隐web服务项器的处理性杏能进行测试吗,以作为不蝇同性能要求寄下架构选型招的依据测试环境网络环境内网带宽千M内网。顷内网pin绢g包延迟:寸<0.1隶ms盛网络拓扑示踪意服务器配置军设备顿硬件配置卖操作系统侦Nginx玩IBMX新3650祖CPU:谅Intel呢(R)X劝eon(R贞)亮E知5150勾2.66G双Hz危2核*2轮内存:擦4披G导千兆网卡漠R都edhat塑linu谣xas4喜T页omcat塑1测于H虑pDL5奉80G4添CPU:根Intel肤(R)X株eon(T通M)3.蜘40GHz市4核*2罗内存:骆8稳G满千兆网卡脚R岔edhat助linu鲁xas5淋T惰omcat险2爸H缩pDL5胶80G4富CPU:括Intel井(R)X证eon(T喝M)3.咱40GHz删4核*2单内存:齐8嚷G渗千兆网卡扮R定edhat制linu胡xas5肺Test1墨H闷pDL5葬80G5厅CPU:诉Intel厕(R)锄脂Xeon(茂R)厉撒E港7310惑1.60G孔Hz桃4核*2倚内存:浩4掉G童千兆网卡凯R快edhat歇linu政xas5劣Test2魄IBMX滨3650栏CPU:以Intel舟(R)X胖eon(R填)跪E季5150岁2.66G黎Hz受2核*2拘内存:咐4剧G骨千兆网卡萌R坊edhat携linu烛xas4软件环境接操作系统网旱络参数优化朋用做测试的丽各台服务器丛,均在/e奇tc/sy薯sctl.熄conf配拨置文件中增循加如下内核牺参数:跨net.i计pv4.t度cp_sy板ncook稼ies=亲1焰net.i喜pv4.t亏cp_tw带_reus乌e=1经net.i钉pv4.t智cp_tw蹄_recy贺cle=坚1纺net.i炭pv4.t设cp_fi番n_tim晋eout霉=5宗Nginx船设置叙主要配置如摘下:庄user瞧www弦www;尝worke帝r_pro奋cesse傻s4;挣error注_log鲜/usr影/loca煎l/ngi途nx/lo亚gs/ng制inx_e臣rror.殿log躁debug暖;怜pid贸/us狐r/loc洲al/ng掉inx/l庭ogs/n疏ginx.火pid;尘worke闪r_rli积mit_n烧ofile见5120寻0;拿event季s{锦u脾seep砍oll;转w筐orker主_conn叼ectio悠ns51骨200;}{炼i识nclud异e故mi根me.ty阻pes;俩d资efaul阿t_typ殿eap悔plica幕tion/额octet环-stre斧am;顷#溉chars状etg礼b2312港;公s压erver织_name霸s_has屠h_buc声ket_s区ize1灾28;材c枝lient啦_head淘er_bu潮ffer_脖size蜻32k;厌l灵arge_余clien胜t_hea慈der_b抢uffer巴s43黑2k;件s停endfi崭leon闲;锋t造cp_no浴push肤o闯n;帖k系eepal斗ive_t耐imeou身t1;底t楼cp_no孙delay桶on;吴#忽gzip林on;沿#潮gzip_如min_l摘ength腥1k;甲#抬gzip_径buffe微rs搅41菊6k;犹#床gzip_从_察versi数on1.蹲0;伤#对gzip_妥comp_窄level聪2;握#军gzip_亲types践备tex愈t/pla嫌inap豪plica民tion/止x-jav开ascri岸ptte政xt/cs影sapp冷licat旱ion/x哗ml;姐#假gzip_错vary萍on;建u径pstre以amt贪omcat竭s{猎共se巩rver屑192挥.168.破131.5遭7:808涝1;垄碗se泼rver呜192茫.168.基131.5蝴6:808组1;申#弹s男erver退19口2.168四.131.因61:80扮80;}懂s名erver{误毫li京sten朋81;汇唯se乡rver_换name抛local摊host;容绵pr椒oxy_r作edire宰ctof赴f;者侵loca绞tion制/{睡侄融豆prox第y_pas叮sh塌ttp:/战/tomc赴ats;任炕}条狮杆跪#后端点的Web服主务器可以通稠过X-Fo躁rward减ed-Fo鹿r获取用户堂真实IP摸耻#p那roxy_错set_h毁eader县X-阿Forwa傻rded-姻For谨$remo琴te_ad辆dr;普涝#l举ocati酿on/前{止歪#i响f($r袜eques巨t_uri仓~*怠".周*\.(j馒s|css翠|gif|努jpg|j因peg|p羽ng|bm足p|swf倍)$")坛挑#{敲摩#阀藏pro过xy_pa谅ss转:华//squ冲id.ab代c趁;色详#}循店#i由f($r娱eques抖t_uri虽~*为"^奋/view论/(.*)牌$")向醒#{巷则#现泊pro扁xy_pa减ss净:抗//squ找id.ab利c苦;课星#}潮蠢#p赞roxy_椅pass华:厉//web壶.abc.角com;杆斧#}姐拖#定愧义日志格式幕广lo胀g_for李mat扫acces替s'$榴remot怕e_add女r-$躁remot欢e_use邻r[$t供ime_l朽ocal]喜$req程uest燃'撤孙蹄谣'敌"$sta需tus"蚊$body阅_byte麦s_sen肢t"$h输ttp_r剪efere扇r"'我恳狂决'葱"$htt忙p_use症r_age痒nt""惕$慰_x_fo滥rward凭ed_fo扎r"';乔伪添悄#打郊日志承绩ac麦cess_杀log舟/usr/握local仇/ngin巷x/log句s/acc珠ess.l施oga影ccess秤;蜓芳哈舌#允概许客户端请宫求的最大的胁单个文件字世节数飘笨cl监ient_骄max_b简ody_s展ize侨10浩m;挤咽革况#缓柱冲区代理缓陕冲用户端请步求的最大字岩节数可以主理解为先保醉存到本地再阀传给用户斤敢cl叉ient_辩body_临buffe顽r_siz镜e12魄8k;揉州输瑞获#跟墨后端服务器伸连接的超时待时间_发起洞握手等候响秩应超时时间授假pr培oxy_c番onnec幸t_tim摸eout洋60理0;碑拘锅群另#连逃接成功后_芽等候后端服怪务器响应时身间_其实已鲜经进入后端旁的排队之中绕等候处理港野pr塔oxy_r属ead_t姨imeou黑t碎60菌0;窝甚燥锡丢#后晕端服务器数桌据回传时间兽_就是在规敬定时间之内哲后端服务器悦必须传完所炊有的数据谦宫pr纲oxy_s庄end_t织imeou坏t社60婆0;幼非愈辩#代订理请求缓存骂区_这个缓译存区间会保馆存用户的头等信息以供N延ginx进通行规则处理鄙_一般只要宿能保存下头亩信息即可音岂pr甘oxy_b滔uffer厘_size响昂8k营;虏舰集蒸把#同洽上告诉N迫ginx保侍存单个用的浮几个Buf店fer最休大用多大空约间摩学pr缴oxy_b剃uffer失s朵睡4咱32k;扛灵久哄注#如梨果系统很忙蕉的时候可以搏申请更大的蚊proxy蒜_buff溪ers官冬方推荐*2斑亮pr课oxy_b闹usy_b消uffer尾s_siz童e64k营;弊咐休舒油#p式roxy缓尊存临时文件趣的大小庭狡pr米oxy_t海emp_f榜ile_w膏rite_京size江64k;}}针Tomca很t设置尿主要配置如陈下:肃T喂omcat赏5.5会M惨axThr场ead5案00探MinSp庭areTh捏read海25锐MaxSp涛areTh殃read7楚5欣Xmx1递740M妥Java环负境娇使用jdk被1.6_0朝3启动两个荐Tomca棋t。棒使用jdk抹1.6启动脉两个客户端奥的秒Tes测试葵t进程。测试结果海单个TOM少CAT的W筒EB服务器讽N桑O史客户数葛线程数队请求次数疯间隔时间两测试服务器毛占用内存盗服务器负载趴持续时间瓶平均速度短完成请求斗结果说明胆1故1吨500戴200万选0毫秒衫Test1围1.1G钞>150筛82秒溜12986摇条/秒沃106万友从第82秒欺开始,to搞mcat占景用内存1.厌1g,但C完PU资源被毒tomca既t耗尽,服靠务器负载急义剧升高,t估op显示已立达150,笋服务器停止竹响应客户端厅请求,客户案端请求速度音急剧下降,珠错包率10狡0%,拌测试被迫中有断崇。劝2陪2飞500渗200万伙25毫秒竹Test1启1.7G刮<6槐288秒妄4765条松/秒矩137万斑从第280宿秒左右开始惠,tomc凑at占用内胞存到达Xm昂x指定上限牌1.7g,香Test1酒、Test可2请求速度捷急剧下降,独出现错包,父错包率超过引>6%,且掩仍在增加,异测试终止锋。tomc零at抛出浇“慰java.繁lang.虏OutOf腹Memor滤yErro植r:GC激over暴head伞limit前exce璃eded肢“转异常。北Test2阀293秒仿4123条敌/秒前120万绿3箱2裤500暖200万警50毫秒过Test1伞1.7G者<3匹422秒脑2863条葛/秒汪120万织服务端从第序400秒左野右开始,t需omcat拼占用内存到截达Xmx指哥定上限1.成7g,Te皮st1、T丹est2请哑求速度急剧桌下降,开始尚出现大量错少包,422估秒以后的错青包率超过4袜.3%,且辨仍在在增加达中,之前的库错包率约为充0.8%,旬测试终止贴。偷Test2抄413秒亮2922条肌/秒除120万溪4苦2厘500气200万脚200毫秒护Test1围1.7G积<2捎742秒漏1727条贱/秒窃128万铺服务端从第吧740秒左输右开始,t武omcat盐占用内存到魄达Xmx指怕定上限1.召7g,Te砖st1、T膝est2请刊求速度急剧歪下降,开始粘出现大量错纪包,莲测试终止崖,达到1.苹7G前,错幼包率只有0痕.008%互,达到1.已7g后,截翠止停止测试育时,错包率围增长到1.铃2%,且仍猪在在增加中邻。web嫂服务器负载撒小于2。信Test2素744秒薄1608条立/秒慎119万蹄5勤2夕500常200万出500毫秒懂Test1揪1.7G都<1洲1595秒毙742条/雷秒奇118万寻服务端从第假1595秒盗左右开始,姐tomca曲t占用内存狼到达Xmx牵指定上限1饼.7g,T成est1、吗Test2佩请求速度急良剧下降,开伍始出现大量卧错包,达到绍1.7G前港,错包率只甲有0.08嘴%,达到1录.7g后,记截止停止测鄙试时,错包仁率增长到2部.3%,已测试终止距。午Test2叔1575秒那737条/令秒像116万恐6袄2英500劫300万鼓1000毫钱秒铃Test1替1.7G颂<1柄6362秒嚷471条/理秒释300万像在测试进度我到80%左农右时,to落mcat1披占用内存达婚到了Xmx渡指定上限1粥.7g,但弊Test1冷、Test应2请求速度防并未下降,躺直到600单万次请求全井部完成,两帮个客户端分臭别有9个丢殊包,丢包率集只有0.0语03%,最恳长的响应时刷长为12.尘728秒。川Test2豪6351秒亲472条/接秒举300万情Nginx喝+2个TO打MCAT的佩WEB服务锤器鼠N例O亿客户端数醋线程数因请求次数圆间隔时间烈测试服务器闻Tomca译t占用内存适服务器负载浊持续时间俘平均速度捏完成请求数架最大响应时茶长物平均响应时劣长不测试结果坡1都2探250酿150万紫0毫秒救Test1虎1G抓<2胳347秒染4322条催/秒容150万协93005租毫秒号0.21毫厉秒及300万次饱请求全部完存成,无一错刊包。丹Test1陪1G接322秒抵4658条躬/秒码150万蛮21244芽毫秒粗0.23毫进秒爽2渔2离500福200万忠25毫秒撑Test1摸1.4G荣<2甩542秒鸭3690条纹/秒疑200万野45016赠毫秒蓄0.27毫绵秒拜400万次姐请求全部完券成,无一错罪包。肥Test2隶1.4G悼544秒镜3676条畅/秒浩200万末45014催毫秒某0.27毫毙秒省3美2个500微300万兴50毫秒裂Test1夫1.7G啄<2煮1140秒芦2445条场/秒氧278万毛申孔服务端从第野1100秒貌左右开始,闲Tomca瓣t1、To冻mcat2虎占用内存到悠达Xmx指放定上限1.猾7g,厚Test1砖、Test蓬2请求速度辩缓慢下降戚,但并无错扛包,人为终泥止测试。确Test2勤1.7G料1141秒东2424条窜/秒弊276万另亮融4惰2危500胳300万张200毫秒伯Test1葡1.7G乳<1调1860秒摇1490条趣/秒题277万嫁纤枝服务端从第步1800秒狗左右开始,惯Tomca城t1、To正mcat2打占用内存到葡达Xmx指着定上限1.晴7g,摧Test1浑、Test宋2请求速度场缓慢下降拳,但并无错鞠包,人为终有止测试。奸Test2租1.7G砖1863秒徐1482条鼠/秒宋276万尽匆查5捐2解500幸500万板500毫秒厉Test1惨1.7G则<1株5475秒宾913条/鸽秒尽500万胳93000蔬毫秒贼1.09毫垦秒乘完成测试,姓但覆Tomca厅t1、To街mcat2豆占用内存到耗达Xmx指变定上限1.冬7g齐,无错包。涨Test2枣1.7G挑5565秒胞898条/抹秒营500万历92987带毫秒躺1.11毫渣秒刃6鸦2单500野500万慕1000毫环秒塘Test1太968M猎<1贫10149父秒刊492条/捕秒塘500万叛9077毫跃秒胶2.02毫慈秒病完成测试,蒸无一错包。误Test2溪1G欲10149煌秒注492条/宝秒晚500万贡9044毫余秒渠2.02毫糊秒酸Nginx钞+2个TO狡MCAT的联WEB服务速器+缓冲遇N裳O格客户端数索线程数崭请求次数梯间隔时间据测试服务器拍Tomca听t占用内存僵服务器负载霸持续时间受平均速度
低(条/秒)劫完成请求数床最大响应时失长铅平均响应时速长壁测试结果喇1街2会250迅150万定0毫秒母Test1振0.2G预<1快64秒福23437形150万程9993毫翅秒迟0.04毫维秒厚援Test2虹0.2G邻59秒躁25423善150万金3472毫违秒娘0.04毫举秒说2疼2饺500侮200万披25毫秒再Test1式0.4G悟<1杏196秒创10202赚200万蚊9616毫密秒览0.10毫企秒责开启绵Nginx田缓存后,俭400忙万次请求全版部完成,分召别有奔241剂和马216贞个错包。蛛Test2担0.4G秤194秒丢10361根200万爱9608毫封秒雷0.10毫疫秒虾3斗2庆500篇300万握50毫秒丘Test1敲0.4G耻<1础379秒依7915累300万纱9015毫伞秒携0.13毫遗秒划开启咐Nginx改缓存后,降600见万次请求全筐部完成,无毯一错包。驶Test2盗0.2G丸384秒若7812蛛300万且10234从毫秒贱0.13毫株秒共4电2尾500鞭300万叹200毫秒窗Test1绍0.4G赶<1扎1220秒政2459氧300万野3018毫缝秒吓0.40毫火秒她开启券Nginx揉缓存后,奔600屠万次请求全疯部完成,无牲一错包。扮Test2胞0.2G述1241秒射2417政300万拴3384毫槽秒简0.41毫沈秒俭5山2腰500框500万禾500毫秒乞Test1锈0.4G超<1糊5031秒欣993殃500万蓄3020毫卷秒杠1.00毫惧秒廊开启沉Nginx这缓存后,愉1000碑万次请求全排部完成,无彩一错包。智Test2央0.2G稳5055秒榆989悲500万砍3394毫消秒咬1.01毫闸秒耳6盗2怒500永500万筋1000毫滔秒削Test1认0.4G哈<1辫10040崇秒的498底500万跌3020毫端秒隆2.00毫易秒千开启Ngi罢nx缓存后央,1000隐万次请求全煎部完成,无礼一错包。柴Test2替0.2G锁10038阶秒涨498把500万攻78毫秒陈2.00毫竹秒摇注:本次测举试所用js捆p页面仅1润00个字节减大小,测试佛过程中带宽朽压力可以忽捕略不计。测央试过程中曾桃尝试过使用泉100k大岛小静态页面雷,结果显示抬在千兆内网陷下,无论是甘单Tomc叉at亦或是悲Nginx刺+2Tom启cat,请良求速度最大凡均不超过蚕1000条两/秒,冰网络带宽使译用已经达到欺800M故,接近千M虚内网上限。喷因此,实际睛应用中,网炊络带宽对整再个web排服务的影响筝会非常大新测试结果盏分析袖系统参数的画影响分析捕worke国r_pro鹅cesse技s撇参数对若N离ginx性阻能的影响幼测试过程中方分别设定在worke轿r_pro鬼cesse智s教为8、4、盈2、1时发余现,该参数焰对ngin筛x性能影响亿不大,对服堂务器资源消奇耗也没有太嘱大影响,相脱关资料显示音,该参数的放值最好跟c凉pu核数相盏等,能够发袄挥最大性能止,本次测试叙nginx芒所在服务器屿为2颗双核治cpu,因易此最终测试尿设定为4。串MaxTh卵read参误数对tom霜cat并发散性的影响暮本次测试t荒omcat蹲的Max姨Threa撇d参数设定诵为500,笔进行130么00条/秒付并发测试时衡,tomc剂at启动并滚发线程过多颂,将服务器补cpu耗尽态。分析Ma漂xThre储ad虽能够竿提高tom稳cat并发章能力,但前氧提是在一个问合理的范围偿内,要确保炮服务器负载烫不会因为并棕发线程过多泪而急剧升高诉,从而停止持响应。沉-Xmx最角大内存值对地Tomca丛t能够持续恶响应高并发提的影响坐持续高并发返请求状态下染,有6次测兰试是因为t暗omcat墓内存达到指域定最大值导限致响应变慢伐,直至内存识溢出停止响岁应,因此,央Tomca吗t最大内存禽对tomc距at能够持那续响应高并期发请求有很口大的影响,矮调整该值,撤应该可以增撑加Tomc只at响应高加并发请求的灶总数,进而些延长WEB榜服务能够支漆撑峰值的时窄间。竹各架构下的窝性能分析他Nginx混+2Tom蛙cat的最敬大并发性低誉于单Tom读cat,N被ginx+击2Tomc万at最快为赖8980条奴/秒,单T屋omcat崖为1298易6条/秒,推分析可能是烧受ngin神x所在服务季器性能影响曾所致。袄单tomc芦at在配置准1.7g最凤大内存时,赏在持续超过它1479条傅/秒的并发疏请求下,在惜稳定支撑约员240万次仇响应后,T归omcat糖内存达到1楚.7上限,加之后Tom阔cat响应骡会急剧变慢顺,错包急剧倡上升。疗Nginx堂+2tom惑cat架构终下,2个t室omcat鼠分别配置1涌.7g最大坑内存时,在多持续超过2音900条/庸秒的并发请拘求下,能够燕稳定支撑约寻540万次义左右响应,呢之后两个T先omcat组内存都会达午到1.7上活限,响应会型急剧变慢,耐但错包情况专并未出现。坐在Ngin积x+2to愚mcat,镇同时配置了守缓存的情况飞下,可以达帜到1.5万迟以上的并发冤处理能力评测结果闭单个tom爱cat的处停理能力在5钉00条/秒既左右稠单个tom颜cat能稳信定支持镇每秒剂500左右嫌的并发僵请求。堤Nginx汗+Tomc拍at比单个隐Tomca晶t更稳定,用不易出现错自包,可以通夺过扩充to稠mcat集凉群(新增t拉omcat门服务器)来舞提升系统的可并发能力显单个tom早cat辩在超出并发械能力的提求升下,处理能诱力大大下降蛛,并出现大骂量错包,而搅采用Ngi匙nx+2T晋omcat毕架构在各种卷测试下,均德未出现错包性,但处理能陶力也会下降极。浊单个tom则cat能稳牧定支持际每秒馋500左右冬的并发颤请求,而缴Nginx李+2Tom猪cat能支怖持政每秒育1000左复右的并发宿请求。所以旬可以通过新挪加tomc族at服务器灭来提升系统说的并发能力菊,但在to到mcat的侨总体处理能虑力超过ng店inx的处盗理能力时无汪效。售Nginx拘+2Tom鹊cat配置肌了缓存后,暂静态页面的格并发能力不哄再受tom拥cat的限横制,单个n关ginx的政并发处理能属力能达到1乎.5万以上美。劳配置了缓存故后,ngi会nx+2t堡omcat志的处理能力劳实测数据超仔过了1.5璃万次/秒,江而单个to蚁mcat可件以支撑50淡0次/秒,艘则从理论上途计算一组N它ginx+闸30霜个丰Tomca洁t在集群可以支炒撑1.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论