会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
sea的博客
博客园
首页
新随笔
联系
订阅
管理
2020年4月1日
Linux中Too many open files 问题分析和解决
摘要: 今天某个服务的日志中出现了大量的异常: [WARN ] 2018-06-15 16:55:20,831 --New I/O server boss #1 ([id: 0x55007b59, /0.0.0.0:20880])-- [org.jboss.netty.channel.socket.nio.
阅读全文
posted @ 2020-04-01 15:49 sea的博客
阅读(782)
评论(0)
推荐(0)
编辑
TCP端口状态说明ESTABLISHED、TIME_WAIT
摘要: TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中
阅读全文
posted @ 2020-04-01 15:01 sea的博客
阅读(1137)
评论(0)
推荐(0)
编辑
HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接
摘要: 三种状态: ESTABLISHED 表示正在进行网络连接的数量TIME_WAIT 表示表示等待系统主动关闭网络连接的数量CLOSE_WAIT 表示被动等待程序关闭的网络连接数量 上篇文章给出了解决TIME_WAIT太多的方法,本篇文章以HttpClient为例说明解决大量CLOSE_WAIT状态的方
阅读全文
posted @ 2020-04-01 14:56 sea的博客
阅读(2822)
评论(0)
推荐(0)
编辑
缓存穿透、击穿、雪崩
摘要: 缓存穿透 查询一个不存在的值时,在缓存系统内未命中,导致请求直接落到持久层数据库上。 缓存击穿 查询某一项数据(如在 redis 查询某一个key),但是这个时候缓存正好过期了,缓存没有命中,导致请求直接落到持久层数据库上。如活动系统里面查询活动信息,但是在活动进行过程中活动缓存突然过期了。 缓存雪
阅读全文
posted @ 2020-04-01 14:39 sea的博客
阅读(135)
评论(0)
推荐(0)
编辑
Http长连接和Keep-Alive以及Tcp的Keepalive
摘要: Keep-Alive模式:我们知道Http协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时,每个请求/应答,客户端和服务器都要新建一个连接,完成之后立即断开连接;当使用Keep-Alive模式时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继
阅读全文
posted @ 2020-04-01 14:16 sea的博客
阅读(623)
评论(0)
推荐(0)
编辑
linux socket中tcp的time_wait的快速回收和重用
摘要: 最近项目中发现用screen启动socket老出错,在调试脚本中看出是screen 启动后,但是并没有将socket拉起;起初一直在查是不是由于screen启动机制导致的,后来和同事沟通发现是由于服务器端socket有大量的客户端连接时,当服务器主动kill掉socket的tcp端口时,再次立即重启
阅读全文
posted @ 2020-04-01 13:56 sea的博客
阅读(6344)
评论(0)
推荐(0)
编辑
Linux网络tcp连接大量CLOSE_WAIT和TIME_WAIT状态的出现和解决方法
摘要: 关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间 分析解决这类问题,关键在
阅读全文
posted @ 2020-04-01 12:23 sea的博客
阅读(2001)
评论(0)
推荐(0)
编辑
公告