打造支持上千万http长连接的应用.ppt

上传人:本田雅阁 文档编号:2316529 上传时间:2019-03-20 格式:PPT 页数:15 大小:1.91MB
返回 下载 相关 举报
打造支持上千万http长连接的应用.ppt_第1页
第1页 / 共15页
打造支持上千万http长连接的应用.ppt_第2页
第2页 / 共15页
打造支持上千万http长连接的应用.ppt_第3页
第3页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《打造支持上千万http长连接的应用.ppt》由会员分享,可在线阅读,更多相关《打造支持上千万http长连接的应用.ppt(15页珍藏版)》请在三一文库上搜索。

1、打造支持上千万http长连接的应用,张乐伟_韩彰 ,web旺旺概述,Web旺旺概述,Http长连接,Comet Long Pooling,Comet Streaming,Websocket,Browser,Server,Browser,Server,Browser,Server,request,request,request,response,response,response,response,response,request,Data,Data,Data,多页面交互,每个页面一个连接 Flash方案(flashdb,localconnection) 轮询cookie,第一版方案,硬件负载,

2、Jetty集群,Haproxy,Haproxy,页面,页面,页面,Jetty,Jetty,Jetty,Haproxy,引入原因 Session sticky 软件负载 LVS 4层 Haproxy 7层 特点 负载均衡 RR 轮询 Least Connection 最少连接 Ip hash Uri hash url_param hash Head(“name”) Session sticky(多种负载均衡,注意多台haproxy情况) 虚拟主机 一致性hash支持 Connection keep alive,瓶颈,连接数 ? Jetty 4万以上 QPS ? 40000/30 = 1300 内

3、存 ? 10K*40000 = 400M,GC是个问题,Old区内存情况,30000连接 30s断开一次连接 30s将建立30000个连接 每30s产生300m内存 全部进入old区 full gc频繁,应用暂停时间长,GC调优,并发GC(CMS:Concurrent Mark-Sweep GC) 1.Initial Marking 2.Concurrent Marking 3.Final Marking 4.Concurrent Sweeping 第一步和第三步需要暂停应用 仍将消耗较长时间 扩大S0,S1区,确保不进入old区 Eden,S0,S1各1G Old区没有数据 Minor GC

4、 ParNewGC 并行GC,比较消耗CPU ParallelGC 并行回收GC -XX:-UseAdaptiveSizePolicy,TCP生命周期,CLOSED,LISTEN,SYN-RECEICED,SYN-SENT,ESTABLISHED,FIN-WAIT-1,FIN-WAIT-2,CLOSING,TIME-WAIT,CLOSE-WAIT,LAST-ACK,被动打开,主动打开,发送SYN,收到SYN,发送SYN+ACK,收到ACK,收到SYN+ACK,发送ACK,同时打开,收到SYN,发送ACK,打开-响应方序列,打开-发起方序列,关闭-发起方序列,关闭-响应方序列,关闭,发送-FIN

5、,收到FIN,发送ACK,收到对FIN的ACK,收到FIN,发送ACK,收到FIN,发送ACK,收到对FIN的应答,等待应用程序关闭,发送FIN,收到对FIN的ACK,定时器过期,同时关闭,Linux TCP调优,echo “1024 65535” /proc/sys/net/ipv4/ip_local_port_range 向外连接可用端口范围 echo 1 /proc/sys/net/ipv4/tcp_tw_reuse time_wait连接重用 echo 1 /proc/sys/net/ipv4/tcp_tw_recycle 快速回收time_wait连接 echo 180000 /pr

6、oc/sys/net/ipv4/tcp_max_tw_buckets 最大time_wait连接长度 echo 20000 /proc/sys/net/ipv4/tcp_max_syn_backlog 最大等待处于客户端还没有应答回来的连接数(在三次握手中) echo 10000 /proc/sys/net/core/somaxconn 每一个处于监听(Listen)状态端口的监听队列的长度(establisthed 状态之前) echo 10000 /proc/sys/net/core/netdev_max_backlog 最大等待cpu处理的包的数目 echo 2000000 /proc/sys/fs/file-max 最大打开文体数 echo 3 /proc/sys/net/ipv4/tcp_fin_timeout FIN-WAIT-2状态等待回收时间 /proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失,增加到/etc/rc.local文件,系统重新引导的时候会自动修改,多域名结构,多域名下的消息推送,面向用户的消息推送平台,haproxy,LVS,taobao,tmall,haproxy,Java进程,Java进程,Java进程,haproxy,Web旺旺应用,其他具有推送任务的系统,微博:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1