随笔分类 -  网络

摘要:正常情况tcp四层握手关闭连接,rst基本都是异常情况,整理如下: 1. GFW 2. 对方端口未打开,发生在连接建立 如果端口打开,只是sync_backlog满了的话,sync简单被丢弃,表现为超时,而不会rst。 3. close Socket 时recv buffer 不为空 例如,客户端发 阅读全文
posted @ 2014-12-07 16:51 LittlePeng 阅读(24384) 评论(0) 推荐(0)
摘要:linux TIME_WAIT 相关参数: 注意: - 不像Windows 可以修改注册表修改2MSL 的值,linux 需要修改内核宏定义重新编译,tcp_fin_timeout 不是2MSL 而是Fin-WAIT-2状态超时时间. - tcp_tw_reuse 和 SO_REUSEADDR 是两 阅读全文
posted @ 2014-12-07 13:19 LittlePeng 阅读(88385) 评论(2) 推荐(2)
摘要:上篇Erlang C1500K长连接推送服务-性能提到:150w连接,使用了23GB内存,每个连接占用15KB,约一半是内核使用。大概分析一下:1. Erlang 节点 12GB,内部因为有内存池碎片问题,实际使用9GB,也就是实际每个进程+Port占用越6K,因为采用hibernate策略,已经... 阅读全文
posted @ 2014-11-30 01:19 LittlePeng 阅读(1417) 评论(2) 推荐(0)
摘要:Whatsapp已经使用Erlang在生产环境跑到96GB内存单机 3M长连接,参加:WhatsApp的Erlang世界。毕竟业务级别能达到Whatsapp那样极少,现在只有千万级,单机太多挂一台影响太大,再者就是没有多线接入,每个机房都得扔那么几台机器吧,所以1M就能满足要求。Erlang 作为长... 阅读全文
posted @ 2014-11-30 00:05 LittlePeng 阅读(4077) 评论(2) 推荐(0)
摘要:因为需要,尝试了预研下面常用几个软负载,大概整理了如下:(自己只是在虚机部署,大概跑跑,没做详细性能测试,性能数值为网上看到的文章归纳,仅供参考):1.LVS 性能最强1. LVS :Linux Virtual Server(VS),请求对于RealServer(RS)都是透明的(不修改Src),使... 阅读全文
posted @ 2013-07-21 21:42 LittlePeng 阅读(1721) 评论(0) 推荐(1)
摘要:问题场景:非常重要带状态服务,经常出现机器硬件故障,需要运维手动切换备机,修改配置,反应速度慢。 想过解决方案:1. 一致性hash,目前使用zk临时节点方案有些问题。像如果机器因为网络不稳定掉线,Zookeeper Client在触发Session Expried 事件时,无法确定已经掉线多长时... 阅读全文
posted @ 2013-06-11 00:22 LittlePeng 阅读(862) 评论(0) 推荐(0)
摘要:主机有时会使用自己的IP地址作为目标地址发送ARP请求。这种ARP请求称为Gratuitous ARP,主要有两个用途:(1)检查重复地址(如果收到ARP响应表明存在重复地址)。 在windows NT下,网卡启动时,TCP/IP协议栈初始化时会最大发送3次Gratuitous ARP请求(初始化... 阅读全文
posted @ 2013-06-10 21:39 LittlePeng 阅读(4005) 评论(0) 推荐(0)
摘要:所了解到的网络设备设计情况,网络设备CPU很弱,只用来完成如DHCP、ARP路由更新等较轻工作,主要的路由转发直接有ASIC专用芯片。ASIC芯片类似于一段固定程序由硬件来实现,处理速度和能效相比CPU要高出一两个数量级,而且可以由很多物理核心并行完成;这好比GPU要比CPU在专用计算上的差距。思科... 阅读全文
posted @ 2013-06-10 20:02 LittlePeng 阅读(1350) 评论(0) 推荐(0)
摘要:曾经写过一个远程网络抓包工具,为啥原远程抓了?在解决现网问题,或者统计数据,需要快速准确的抓取特点的网络吧。我们应用都是windows机器,经常需要抓XX服务某A机到XX服务B机的网络包,定位机器、查部署情况、IP地址、负载配置、同时操作多台设备等等都特别耗时,因为有了这个工具的设计初衷。于是开... 阅读全文
posted @ 2013-06-10 16:04 LittlePeng 阅读(10774) 评论(5) 推荐(2)
摘要:为内存映射文件模块单独弄设计的,用于MMF上实现多进程见消息传输;测试中发现命名管道的效率很差,性能还不如用Socket Loopback,决定试试MMF。测试了下性能还不错,在我机器上:测试每个包4K 每秒可以执行近100w写入+读取操作,也就是每秒8G的数据操作,可以满足觉大多数业务需求。唯一不... 阅读全文
posted @ 2012-06-24 20:55 LittlePeng 阅读(1128) 评论(3) 推荐(0)
摘要:闲着没事试着写写,本来想应该挺简单的,但一写就折腾大半天。Http要实现多线程现在需要WebHost对HttpHeader中Range支持,有些资源不支持Range头就必须顺序下载。协议参考 rfc2616:http://www.ietf.org/rfc/rfc2616.txt大概步骤:1.检测Ra... 阅读全文
posted @ 2011-05-28 20:55 LittlePeng 阅读(1278) 评论(1) 推荐(1)
摘要:这个前段时间无聊写的,还有不基于IIS的实现,HttpListener和Socket(Socket暂时没写)请移步到这儿下载源代码。 所谓的长连接就是服务端长时间挂起请求, 不立即返回,等必要时在返回。至于客户端通常有Iframe的Chunked方式和普通的XMLHTTPRequest。Iframe 阅读全文
posted @ 2011-01-01 00:21 LittlePeng 阅读(4390) 评论(10) 推荐(3)