https://www.ahfesco.com.cn/affairs/Article.asp?id=2778
nginx做到10万并发,常用优化手段:
进程与cpu绑定 worker_cpu_affinity、
并发连接数: worker_connections 1024; //一个cpu对应1个worker;
操作系统缓存区、
超时时间设置、
日志 // 日志要选择合适的范围,高并发下的日志打印会成为性能瓶颈;
通过使用nginx集群获取更高的并发;
使用lvs, linux virtual server,目前绝大部分linux发行版,都已经集成在内核了。
安装使用了LVS的Linux服务器,等于是路由器。
核心理念: 原本是请求lvs服务器的数据包,被lvs软件篡改了数据包的目的地,
将流量转移到了nginx所在的机器ip地址,从而实现负责平衡。
lvs相当于是中介,nginx相当于是代购;
lvs + keepalived 实现高可用(ip地址漂移);
https://www.cnblogs.com/edisonchou/p/4281978.html
--> tomcat
--> nginx --> tomcat
客户端 -> lvs --> nginx --> tomcat
--> nginx --> tomcat
--> tomcat
为什么lvs比nignx快?
网络第四层所使用的协议(如tcp), 内容比http简单,
解析和组装所消耗的CPU、内存等比nginx要低。
如何扛得住5亿流量, 购买F5硬件;
--> lvs
客户端 -> F5 --> lvs
--> lvs
容量参数:
Nginx 支撑 1w - 10w并发;
lvs 支撑 10w - 50w;
F5 支撑 200w - 1000w;
DNS - 无限水平扩展的终极奥秘
客户端负载均衡;
不同地区的用户 ping www.baidu.com ,返回不同的ip地址;
dns + F5 + lvs + nginx + tomcat
dns + nginx + tomcat