
netty
文章平均质量分 80
洪武
自律给我自由
展开
-
netty内存检测
1,内存泄露级别DISABLED, SIMPLE, ADVANCED, PARANOID;DISABLED(禁用);: 不进行内存泄露的检测;SIMPLE(操作简单): 抽样检测,且只对部分方法调用进行记录,消耗较小,有泄漏时可能会延迟报告,默认级别;ADVANCED(高级): 抽样检测,记录对象最近几次的调用记录,有泄漏时可能会延迟报告;PARANOID(偏执): 每次...原创 2015-11-30 18:23:19 · 1132 阅读 · 0 评论 -
netty引用计数器对象
自从Netty 4开始,对象的生命周期由它们的引用计数(reference counts)管理,而不是由垃圾收集器(garbage collector)管理了。ByteBuf是最值得注意的,它使用了引用计数来改进分配内存和释放内存的性能。 基本的引用计数 每个对象的初始计数为1: ByteBuf buf = ctx.alloc().directBuf...原创 2015-11-30 19:50:22 · 336 阅读 · 0 评论 -
Netty4源码分析之内存管理
引用计数 netty中使用引用计数机制来管理资源,当一个实现ReferenceCounted的对象实例化时,引用计数置1. 客户代码中需要保持一个该对象的引用时需要调用接口的retain方法将计数增1.对象使用完毕时调用release将计数减1. 当引用计数变为0时,对象将释放所持有的底层资源或将资源返回资源池. 内存泄露 按上述规则使用Direct和Pooled的ByteBuf尤其重要.对于D...原创 2015-11-30 19:53:02 · 129 阅读 · 0 评论 -
一次线上问题排查的坎坷经历
一次线上问题排查的坎坷经历2015-08-30 林之风 Netty之家一次线上问题排查的坎坷经历 问题描述:某生产环境在业务高峰期,偶现服务调用时延突刺问题,时延突然增大的服务没有固定规律,比例虽然很低,但是对客户的体验影响很大,需要尽快定位出问题原因并解决。 问题分析 服务调用时延增大,但并不是异常,因此运行日志并不会打印ERROR日志,单...原创 2015-12-16 16:25:19 · 322 阅读 · 0 评论 -
半连接过多耗尽资源
synflood 半连接太多 解决方法编辑这个攻击的解决方法如下:1,增加未完成连接队列(q0)的最大长度。echo 1280>/proc/sys/net/ipv4/tcp_max_syn_backlog2, 启动SYN_cookie。echo 1>/proc/sys/net/ipv4/tcp_synco...原创 2016-03-28 11:07:43 · 616 阅读 · 0 评论 -
连接数过多导致too many open files
3.1. 最大句柄数修改百万长连接接入,首先需要优化的就是Linux内核参数,其中Linux最大文件句柄数是最重要的调优参数之一,默认单进程打开的最大句柄数是1024,通过ulimit -a可以查看相关参数,示例如下:[root@lilinfeng ~]# ulimit -acore file size (blocks, -c) 0data seg size ...原创 2016-03-28 11:46:03 · 834 阅读 · 0 评论 -
netty新建连接并发数很小的case
双12之前的一个case,现在分享下,这个case的现象是当这个应用每秒新建40多个连接的时候,就会经常连接不上,这个应用时是基于netty的,按照我对netty的理解,这不太可能发生,可以来看看这个case解决的那个弯曲,总共折腾了4天,搞的这么弯曲和我有很大关系。这个应用的背景先简单说一下,是一个提供给手机访问的应用,手机端app和这个应用时采用长连的方式,通讯这层是基于netty。...原创 2016-04-11 11:45:58 · 427 阅读 · 0 评论 -
Netty OOM案例
Netty OOM案例2015-10-23 林之风 Netty之家问题:最近公司某产品商用发布在即,连续性能测试1个小时左右,开始发生时延变大、应答消息丢失等问题,最后抛出OOM异常,服务端宕机。异常日志如下: 问题分析 通过异常堆栈和HeapAnalyzer工具分析,发现是Netty的内存池直接内存溢出,由于业务的消息接收和发送ByteBuf都使用了内存池直接...原创 2015-12-16 15:41:59 · 710 阅读 · 0 评论