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

上传人:宝路 文档编号:47729424 上传时间:2018-07-04 格式:PPT 页数:15 大小:1.92MB
返回 下载 相关 举报
打造支持上千万http长连接的应用_第1页
第1页 / 共15页
打造支持上千万http长连接的应用_第2页
第2页 / 共15页
打造支持上千万http长连接的应用_第3页
第3页 / 共15页
打造支持上千万http长连接的应用_第4页
第4页 / 共15页
打造支持上千万http长连接的应用_第5页
第5页 / 共15页
点击查看更多>>
资源描述

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

1、打造支持上千万http长连接的 应用张乐伟_韩彰 web旺旺概述Web旺旺概述Http长连接Comet Long PoolingComet StreamingWebsocketBrowserServerBrowserServerBrowserServerrequestrequestrequestresponseresponseresponseresponse responserequestDataDataDataComet Long PoolingComet StreamingWebsocket浏览器都支持不错大部分浏览器都支持不好Html5,大部分浏览器不支持多页面交互l每个页面一个连接 l

2、Flash方案(flashdb,localconnection) l轮询cookie第一版方案硬件负载Jetty集群HaproxyHaproxy页面页面页面JettyJettyJettyHaproxy 引入原因 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瓶颈

3、 连接数 ? Jetty 4万以上 QPS ? 40000/30 = 1300 内存 ? 10K*40000 = 400MGC是个问题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区,确保不

4、进入old区 Eden,S0,S1各1G Old区没有数据 Minor GC ParNewGC 并行GC,比较消耗CPU ParallelGC 并行回收GC -XX:-UseAdaptiveSizePolicyFull GCMinor GC并发GC-XX:+UseConcMarkSweepGC-XX:+UseParNewGC并行GC-XX:+UseParallelGC-XX:+UseParallelGCTCP生命周期CLOSEDLISTENSYN-RECEICEDSYN-SENTESTABLISHEDFIN-WAIT-1FIN-WAIT-2CLOSINGTIME-WAITCLOSE-WAITL

5、AST-ACK被动打开主动打开,发送SYN收到SYN,发送SYN+ACK收到ACK收到SYN+ACK,发送ACK同时打开 ,收到 SYN,发 送ACK打开-响应方序列打开-发起方序列关闭-发起方序列关闭-响应方序列关闭,发送-FIN收到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

6、/net/ipv4/tcp_tw_reuse time_wait连接重用echo 1 /proc/sys/net/ipv4/tcp_tw_recycle 快速回收time_wait连接echo 180000 /proc/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)状态端口的监听队列的

7、长度(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文件,系统重新引导的时候会自动修 改多域名结构cookie浏览器浏览器TTcookie浏览器浏览器webserverhttp长连 接http长连 接多域名下的消息推送TTwebserver1 推送消息标志1 推送消息标志2 读取消息3 推送消息变化0 接收消息面向用户的消息推送平台haproxyLVStaobaotmallhaproxyJava进程Java进程Java进程haproxyWeb旺旺应 用其他具有推送 任务的系统微博:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号