当前位置:首页 > nginx > 正文

nginx最大并发量

  • nginx
  • 2024-05-22 12:36:01
  • 8507

⑴Nginx和lvs抗并发的极限是多少
LVS4层(tcp)负载均衡、转发和DR模式是主要因素
优点:数据包不需要经过LB就可以返回,所以效率高,并行对象有几十万个
缺点:RS需要配置,因此部署是一项复杂、单一的任务。
Nginx7层,负载均衡(反向代理),1.9以后支持4层
缺点:效率不太高,10000-50000并发,数据包必须经过负载均衡器
优点:简单,方便,不需要配置RS,支持基于URL、扩展等的调度功能,可以做web和缓存
2.nginx和lvs的对比结果
1网络层,所以对于http来说可以做自己的转换机制,例如域名、目录等。 相反,lvs没有这样的功能
2、nginx对网络依赖较小理论上,只要ping成功,web访问正常,nginx就可以连接内网和外网。 有备用线;lvs比较依赖网络环境:目前看来服务器都在同一个网段,LVS采用直接模式改变流量,所以结果比较有保证。
另请注意,为了将lvs用作可视IP,它必须至少指定一个来自主机的附加IP。 3.安装和配置nginx相对容易,测试起来也很方便,因为它可以在底座上打印错误。
安装、配置和测试lvs需要相对较长的时间,因为如上所述lvs严重依赖网络。 如果出现问题,相应的解决就会更加困难。
4.nginx可以承受高负载且稳定,但负载和稳定性较弱且lvs有几级:nginx控制所有流量,因此受到机器IO和配置的限制,还是有难度要解决,nginx是现成的双机没有热备方案,所以在一台机器上运行还是有危险的,单机就不好说了。 5.nginx可以根据服务器对网页的处理情况来检测服务器内部的故障如状态码、超时等,并将返回错误的请求重新提交到另一个节点。 目前lvs中的ldirectd可以支持监控服务器内部状态,但是lvs策略阻止其再次发送请求。 至于重新发送请求,比如用户正在上传文件,上传过程中节点出现故障,nginx会切换到另一台服务器重新处理上传,如果有用户可能生气,会自动断开连接如果他们上传大型或重要文件。 6.Nginx对请求的异步处理可以帮助减轻节点服务器的负载。 如果再使用nginx作为apache代理,这些窄带连接就会被nginx阻塞,很多请求就不会存储在apache上,从而减少高内存占用。 在这方面使用Squid也有类似的效果,虽然Squid本身被配置为没有缓存,但这仍然对Apache有很大帮助。 LVS不具备这些功能,所以无法进行比较。


⑵nginx能扛得住5万并发,那更大呢,怎么办
对于大并发连接,Nginx是Apache服务器的一个很好的替代方案。 Nginx还可以用作第7层负载均衡服务器。 测试结果显示,Nginx
0.7.14+PHP5.2.6(FastCGI)可以支持3万以上并发连接,相当于相同环境下Apache的10倍。
根据经验,一台4GB内存的服务器+Apache(pre fork模式)通常只能处理3000个并发连接,因为它们会占用3GB以上的内存,必须为系统预留1GB的内存。 我曾经有两台Apache服务器。 由于配置文件中的MaxClients为4000,当Apache并发连接数达到3800时,服务器内存和Swap空间已满并崩溃。
而这个
Nginx0.7.14+PHP5.2.6(FastCGI)
服务器有三十个并发连接-cgi进程开始消耗1280M内存(20M*64=1280M),加上消耗的内存就系统本身而言,总消耗内存不到2GB。 如果服务器内存较小,则只能开启25个php-cgi进程,这样总共只消耗500M的php-cgi内存。
在3万并发连接下,接近Nginx0.7.14+PHP5.2.6(FastCGI)的PHP程序仍然是最快的服务器。
你说的5000,最多可以达到10万,但是有一个问题。 您必须先保存您的服务器配置,然后才能进行游戏。