因胸联盟 发表于 2015-1-14 20:38:24

给大家带来WEB网站压力事实在那里

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!今朝网站架构一样平常分红网页缓存层、负载平衡层、WEB层和数据库层,我实在一样平常还会多加一层,即文件办事器层,如许我们在前面的会商过程当中,我们能够顺次用这五层对网站架构来举行会商;这里为了更具有压服力,我将用三个并发较年夜的临盆情况来讲明下,一个是我如今保护的电子商务网站(并发最年夜峰值2900,日PV500万摆布)、我今朝保护的电子告白网站(并发最年夜峰值1500,日PV150万摆布)、之前保护的年夜型CDN流派告白网站(并发最年夜峰值5000,日PV5000万摆布)。


  网页缓存层


  起首说下这个网页缓存层,好比CDN租赁(效果比公司本人安排Squid/Varnish要好,他们专业,代价昂贵,好比快网/CC等(代价80元/M/月不到)并且掩盖的乡村更多),本人架设squid/Varnish是次选。别的,良多伴侣喜好实验自建CDN,这个是一个对照费劲不奉迎的活儿,一定能到达预期方针,这块体系架构师在架设网站早期就有计划好,不要比及网站流量及压力伟大时才往计划。现实上,这一层有良多优


  秀的开源软件都能成功,好比传统的SquidCache,别的,后起之秀Nginx和Varnish由于功能优秀,愈来愈多的伴侣实验在本人的网站利用他们作为本人的网页缓存,现实上,Nginx已具有Squid所具有的Web缓存减速功效,别的,Nginx对多核CPU的使用,赛过Squid很多,如今愈来愈来的架构师都喜好将Nginx同时作为“负载平衡办事器”与“Web缓存办事器”来利用,人人能够依据本人网站的情形,来决意事实利用哪一种软件来作为本人网站的网页缓存。


  负载平衡层


  起首说下负载平衡层,我们熟习的硬件/软件手艺有F5,LVS/HAProxy,另有Nginx,它们的功能都长短常优秀的,F5/LVS如今在全球局限内的使用,并且淘宝如今晋级架构,也将LVS代替了F5,HAProxy大概人人不是出格熟习,但HAproxy+Keepalived的确在临盆情况下体现优秀,壮大的吞吐才能,不乱性比之


  硬件过尤不及,并用淘宝也在年夜范围的推行利用HAProxy,有乐趣的伴侣也能够存眷。再说下Nginx,我是将Nginx+Keepalived架构用于了各类临盆情况中的,经由长工夫的线上察看,发明Nginx作为负载平衡器/反向代办署理也很不乱,假如并发压力过年夜,我们后面能够用F5/LVS作为最前真个负载平衡,而将Nginx作为七层代办署理,如许的效果实在也不差,以是负载平衡层的压力不克不及算是出格年夜。


  WEB层


  WEB层这块压力对照年夜的网站如今都换成了Nginx作为WEB使用办事器,现实上,它的抗并发才能的确凌驾了预期;我如今保护的一家流派网站,岑岭期时某台Nginx使用办事器的并兴旺到了一万以上,但Nginx也很卖力和不乱的供应办事,在实践的临盆情况中,假如我们思索到后真个数据库办事时,一万并发应当也算是一个对照年夜的数值了。别的,Linux集群有一个上风,就是它的高扩大性,就算我们的网站的并发有一万以上,我们后真个WEB办事是Apache,我们多加几台Apache办事器便可,在实践的线上保护时,我们发明,岑岭时代,实践上每台WEB的并发其实不算是出格年夜,以是网站的压力在这一层我们也能经由过程手艺手腕加以克制。


  文件办事器层


  如今人人的临盆办事器通常为利用以下四种来作为本人的文件办事器层:


  1)单NFS+备份NFS作为文件办事器,如许的优点是保护便利,但存在着单点妨碍,必要工资手动干涉;


  2)DRBD+Heartbeat+NFS高可用文件办事器,保护便利,也不存在着单点妨碍,但跟着会见量的增年夜,前期一样存在着压力过年夜的情形;


  3)散布式文件体系MFS、Gluster,,MFS易用,不乱,对海量小文件很高效,并且新版的MFS办理了


  MasterServer存在着单点妨碍的成绩,国际愈来愈多的公司在利用MFS。现实上,散布式文件体系是办理文件办事器压力过年夜的终极路子,但这个同时也有隐患,网站功效越多,摊子越年夜,呆板越多,保护起来越庞大。


  4)假如人人的公司是淘宝和腾记这类巨量级的公司,能够实验开辟本人的散布式文件体系了,人人能够实验依据本人网站的情形,来决意事实选择哪种软件来作为本人的文件办事器。


  数据库层


  数据库层的压力,我以为网站的PV和并发上往今后,数据库这块的压力是最年夜的,CDN年夜型告白网站我们用的是OacleRAC计划,它包管了数据的高可用性,固然了代价也长短常高贵的(假如利用高设置的PC办事器,Oracle一样平常依照CPU个数免费);那末收费的MySQL数据库,面临这类并发压力年夜的情形,这个时分我们应当怎样办呢?起首,我们能够在数据库到场memcached数据缓存,在实践线上利用时,我们也发明memcached功效壮大,功能不乱,在数据库频仍读写,压力过年夜的情形下,增添一台memcached数据缓存办事器的效果能凌驾我们的预期。数据库的硬件方面能够思索投进,磁盘阵列做成RAID10,假如资金丰裕,磁盘能够用流动硬盘来取代SAS硬盘,究竟数据库的压力次要来自于磁盘I/O方面。公道的计划MySQL数据库的架构,现实上,在临盆情况下,一主多从、读写分别是靠谱的计划计划,从


  MySQL的负载平衡我这里保举人人利用LVS,这是由于当前面的MySQL呆板凌驾十台时,HAProxy在这方面的功能不如LVS。假如网站的营业量过年夜,我们能够接纳分库的***,好比将网站的营业量分红Web、BBS、Blog等几组,每组均接纳主从架构,如许计划的话就制止了单组数据库压力过年夜的情形。


  别的,我们还应当共同公司的MySQLDBA和开辟职员,在数据库参数优化、SQL语句优化、数据切分上多做工夫,制止数据库成为我们网站的瓶颈。


  但愿人人可以经由过程以上彀站的五层分化,分离本人网站的情形,懂得每层在网站计划中的感化和主要性,找出网站瓶颈加以优化,将本人的网站打形成高可用高可扩大性的网站。


欢迎大家来到仓酷云论坛!

小妖女 发表于 2015-1-16 21:11:25

给大家带来WEB网站压力事实在那里

这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?

飘飘悠悠 发表于 2015-1-25 20:17:26

这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。

不帅 发表于 2015-2-4 03:00:14

老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。

深爱那片海 发表于 2015-2-9 12:52:41

即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。

因胸联盟 发表于 2015-3-9 10:21:26

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

再见西城 发表于 2015-3-17 01:07:54

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。

蒙在股里 发表于 2015-3-23 15:22:24

和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
页: [1]
查看完整版本: 给大家带来WEB网站压力事实在那里