Nginx负载均衡和LVS负载均衡的比较分析

  • 时间:
  • 浏览:2
  • 来源:5分6合_5分6合平台_5分6合网投平台
作者:匿名 hihi 来源:ChinaZ源码报导 浏览: 2011-12-6 15:12:27 字号:大 中 小

[摘要]Nginx是有另1个高性能的 HTTP 和 反向代理 服务器,也是有另1个 IMAP/POP3/SMTP 代理服务器。本文介绍Nginx负载均衡和LVS负载均衡的比较分析。

  LVS和Nginx都还时需用作多机负载的方案,它们各有优缺,在生产环境中时需好好分析实际情况汇报并加以利用。

  首先提醒,做技术切不可人云亦云,我云即你云;同去并且可太趋向保守,过于相信旧有最好的法律最好的办法而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高本人对技术的认知和水平,乃是有另1个好习惯。

下面来分析一下两者:

一、lvs的优势:

  1、抗负载能力强,由于lvs工作最好的法律最好的办法的逻辑是非常之简单,并且工作在网络4层仅做请求分发之用,那末流量,所以在数率上基本不时需太过考虑。在我手里的 lvs,仅仅出过一次哪此的疑问:在并发最高的一小段时间内均衡器总出 丢包哪此的疑问,据分析为网络哪此的疑问,即网卡或linux2.4内核的承载能力已到上限,内存和 cpu方面基本无消耗。

  2、配置性低,这通常是一大劣势,但同去也是一大优势,由于那末后要 可配置的选项,所以除了增减服务器,暂且时需老是 去触碰它,大大减少了人为出错的几率。

  3、工作稳定,由于其一种 抗负载能力很强,所以稳定性高也是顺理成章,另外各种lvs完整都是完整的双机热备方案,所以所并且要担心均衡器一种 会出哪此哪此的疑问,节点总出 故障说说,lvs会自动判别,所以系统整体是非常稳定的。

  4、无流量,后边由于有所提及了。lvs仅仅分发请求,而流量暂且从它一种 出去,所以还时需利用它这点来做所以线路分流之用。那末流量同去也保住了均衡器的IO性能后要受到大流量的影响。

  5、基本还时需支持所有应用,由于lvs工作在4层,所以它还时需对几乎所有应用做负载均衡,包括http、数据库、聊天室等等。

  另:lvs也完整都是完整能判别节点故障的,譬如在wlc分配最好的法律最好的办法下,集群里有有另1个节点那末配置VIP,会使整个集群都都可以 了使用,这时使用wrr分配最好的法律最好的办法则会丢掉一台机。目前你这个哪此的疑问还在进一步测试中。所以,用lvs也得多多当心为妙。

二、nginx和lvs作对比的结果

  1、nginx工作在网络的7层,所以它还时需针对http应用一种 来做分流策略,比如针对域名、目录形状等,相比之下lvs暂且具备原先 的功能,所以 nginx单凭这点可利用的场合就远多于lvs了;但nginx有用的哪此功能使其可调整度要高于lvs,所以老是 要去触碰触碰,由lvs的第2条优点 看,触碰多了,人为出哪此的疑问的几率也就会大。

  2、nginx对网络的依赖较小,理论上但会 ping得通,网页访问正常,nginx就能连得通,nginx同去还能区分内外网,由于是同去拥有内外网的 节点,就大约单机拥有了备份线路;lvs就比较依赖于网络环境,目前来看服务器在同一网段内并且lvs使用direct最好的法律最好的办法分流,效果较能得到保证。另 外注意,lvs时需向托管商大约申请多有另1个ip来做Visual IP,貌似是都都可以 了用一种 的IP来做VIP的。要做好LVS管理员,人太好得跟进学习所以有关网络通信方面的知识,就不再是有另1个HTTP那末简单了。

  3、nginx安装和配置比较简单,测试起来也很方便,由于它基本能把错误用日志打印出来。lvs的安装和配置、测试就要花比较长的时间了,由于同上所述,lvs对网络依赖比较大,所以前一天 都都可以 了配置成功完整都是由于网络哪此的疑问而完整都是配置哪此的疑问,出了哪此的疑问要处里也相应的会麻烦得多。

  4、nginx也同样能承受很高负载且稳定,但负载度和稳定度差lvs还有十有几个 等级:nginx处里所有流量所以受限于机器IO和配置;一种 的bug也还是难以处里的;nginx那末现成的双机热备方案,所以跑在单机上还是风险较大,单机上的事情所以不能自己说。

  5、nginx还时需检测到服务器外部的故障,比如根据服务器处里网页返回的情况汇报码、超时等等,并且会把返回错误的请求重新提交到原先 节点。目前lvs中 ldirectd不能支持针对服务器外部的情况汇报来监控,但lvs的原理使其都都可以 了重发请求。重发请求这点,譬如用户正在上传有另1个文件,而处里该上传的节点刚 好在上传过程中总出 故障,nginx会把上传切到另一台服务器重新处里,而lvs就直接断掉了,由于是上传有另1个很大的文件由于有点儿要的文件说说,用户由于 会并且而恼火。

  6、nginx对请求的异步处里还时需帮助节点服务器减轻负载,但会 使用Apache直接对外服务,那末总出 所以的窄带链接时apache服务器由于占用大 量内存而都都可以 了释放,使用多有另1个nginx做apache代理说说,哪此窄带链接会被nginx挡住,apache上就后要堆积后要 的请求,原先 就减少了相 当多的内存占用。这点使用squid完整都是相同的作用,即使squid一种 配置为不缓存,对apache还是有很大帮助的。lvs那末哪此功能,也就无法能 比较。

  7、nginx能支持http和email(email的功能估计比较少人用),lvs所支持的应用在这点上会比nginx更多。

  在使用上,一般最前端所采取的策略应是lvs,也并且DNS的指向应为lvs均衡器,lvs的优点令它非常适合做你这个任务。

  重要的ip地址,最好交由lvs托管,比如数据库的ip、webservice服务器的ip等等,哪此ip地址随着时间推移,使用面会那末大,由于更换ip则故障会接踵而至。所以将哪此重要ip交给lvs托管是最为稳妥的,原先 做的唯一缺点是时需的VIP数量会比较多。

  nginx可作为lvs节点机器使用,一是还时需利用nginx的功能,二是还时需利用nginx的性能。当然你这个层面也还时需直接使用squid,squid的功能方面就比nginx弱不少了,性能上完整都是所逊色于nginx。

  nginx也可作为中层代理使用,你这个层面nginx基本上无对手,唯一还时需撼动nginx的就都都可以 了lighttpd了,不过lighttpd目前还那末 能做到nginx完整的功能,配置并且那末清晰易读。另外,中层代理的IP也是重要的,所以中层代理也拥有有另1个VIP和lvs是最完美的方案了。

  nginx也可作为网页静态服务器,不过超出了本文讨论的范畴,简单提一下。

  具体的应用还得具体分析,由于是比较小的网站(日PV<30000万),用nginx就完整还时需了,由于机器并且少,还时需用DNS轮询,lvs所耗费的机器还是比较多的;大型网站由于重要的服务,机器不发愁的前一天 ,要多多考虑利用lvs。

sssss
Tags: nginx   lvs   nginx负载   lvs负载   nginx负载均衡  
责任编辑:190