摘要: 在最近的一次百万长连接压测中,32C 128G 的四台 Nginx 频繁出现 OOM,出现问题时的内存监控如下所示。 排查的过程记录如下。 现象描述 这是一个 websocket 百万长连接收发消息的压测环境,客户端 jmeter 用了上百台机器,经过四台 Nginx 到后端服务,简化后的部署结构如 阅读全文
posted @ 2020-09-28 21:36 AI乔治 阅读(826) 评论(0) 推荐(1) 编辑
摘要: 几年前的一个下午,公司里码农们正在安静地敲着代码,突然很多人的手机同时“哔哔”地响了起来。本来以为发工资了,都挺高兴!打开一看,原来是告警短信 故障回顾 告警提示“线程数过多,超出阈值”,“CPU空闲率太低”。打开监控系统一看,订单服务所有20个服务节点都不行了,服务没响应。 每个springboo 阅读全文
posted @ 2020-09-28 21:16 AI乔治 阅读(507) 评论(0) 推荐(2) 编辑
摘要: JAVA程序最爽的地方是它的GC机制,开发人员不需要关注内存申请和回收问题。同时,JAVA程序最头疼的地方也是它的GC机制,因为掌握JVM和GC调优是一件非常困难的事情。在ParallelOldGC、CMS、G1之后,JDK11带来的全新的「ZGC」为我们解决了什么问题?Oracle官方介绍它是一个 阅读全文
posted @ 2020-09-28 21:06 AI乔治 阅读(1827) 评论(0) 推荐(0) 编辑
摘要: 在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导致服务超时,引发性能问题。 我们团队负责的广告系统承接了比较大的C端流量,平峰期间的请求量基本达到了上千Q 阅读全文
posted @ 2020-09-28 20:52 AI乔治 阅读(865) 评论(0) 推荐(1) 编辑
摘要: Stream Stream是在Java SE 8 API添加的用于增强集合的操作接口,可以让你以一种声明的方式处理集合数据。将要处理的集合看作一种流的创建者,将集合内部的元素转换为流并且在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选,排序,聚合等。元素流在管道中经过中间操作(interm 阅读全文
posted @ 2020-09-28 20:49 AI乔治 阅读(887) 评论(0) 推荐(1) 编辑
摘要: 问题描述 公司某规则引擎系统,在每次发版启动会手动预热,预热完成当流量切进来之后会偶发的出现一次长达1-2秒的年轻代GC(流量并不大,并且LB下的每一台服务都会出现该情况) 在这次长暂停之后,每一次的年轻代GC暂停时间又都恢复在20-100ms以内 2s虽然看起来不长,但是对比规则引擎每次10ms左 阅读全文
posted @ 2020-09-28 20:31 AI乔治 阅读(517) 评论(0) 推荐(1) 编辑

作者微信号:wm1106701116 (备注:博客园) 加入微信架构群,获取架构师学习资料。