主页

记一次线程挂死的排查过程(附 HttpClient 配置建议)

1、事发

我们有个视频处理程序,基于 SpringBoot,会启动几个线程来跑。要退出程序时,会发送一个信号给程序,每个线程收到信号后会平滑退出,等全部线程都退出后,整个进程再平滑退出。

整个程序平时运行都正常,然后有一天,我们发送了退出信号给程序后,发现程序无法自动退出了!肿么回事呢,grep 一下日志看到是这样的。

# grep 'receive exit signal' /PATH/TO/LOG

[2019-02-22 09:49:28,884][INFO ][Thread-75][n.p.j.e.l.l.PolyvQueueVideo:83] - receive exit signal ... exit current thread
[2019-02-22 09:49:56,271][INFO ][Thread-78][n.p.j.e.l.l.PolyvQueueVideo:83] - receive exit signal ... exit current thread
[2019-02-22 09:53:24,943][INFO ][Thread-74][n.p.j.e.l.l.PolyvQueueVideo:83] - receive exit signal ... exit current thread
[2019-02-22 09:55:23,317][INFO ][Thread-79][n.p.j.e.l.l.PolyvQueueVideo:83] - receive exit signal ... exit current thread
[2019-02-22 09:57:00,196][INFO ][Thread-77][n.p.j.e.l.l.PolyvQueueVideo:83] - receive exit signal ... exit current thread

这里的程序总共启动了6个线程的,但上面看到只有5个线程退出了,还有一个哪儿去了?不肯轻易就义么?好顽强的线程。。。

阅读更多

Life Release 2018

25 本书

《雪人》《一个叫欧维的男人决定去死》《与绝迹之鸟的短暂邂逅》《百年法》《刺杀骑士团长》《远山淡影》《一首小夜曲》《湖底女人》《OKR 工作法》《凶心人》《铁牛重临》《邮差总按两遍铃》《平原上的摩西》《来自新世界》《罗杰疑案》《希腊棺材之谜》《犹大之窗》《燃烧的法庭》《阿拉伯之夜杀人案》《斜屋犯罪》《在路上》《带着鲑鱼去旅行》《众病之王》《永恒的终结》《人件》

25本,量还行,但其中读了太多小说,太少科普类、专业类的书了,明年要加油(好像去年也这么说。。。)。

今年入了不少新的坑。其一是卡尔,一度沉迷,连读3本,我倒不是说特别喜欢密室,而是觉得卡尔对语言、节奏的把控很好,后面还会继续找来读。很喜欢年初读的奈斯博的《雪人》,阅读过程中时不时有看犯罪电影的感觉,好看的让人发抖!后面应该会补完哈利系列,这是挺大一个坑。雷蒙德·钱德勒也不错,读的第一本是《湖底女人》,就喜欢这种简洁有力的文字,不拖泥带水,估计会再读两三本。然后最近读了第一本阿西莫夫,《永恒的终结》,确实震撼,后续也应该会补上银河帝国系列,听说有15本,深坑啊!

有入坑,也有弃坑。第三本岛田庄司,《斜屋犯罪》,第二本奎因,《希腊棺材之谜》,这之后,应该跟这二位说拜拜了,前者太多水,后者太刻意。

阅读更多

做更难的事情,坚持做

今年趁着双十一,买了两件觊觎已久的东西。一件是椭圆机,迪卡侬 E-SHAPE+。一件是 4K 显示器,戴尔 P2415Q。

椭圆机

今年跑步挺多的,特别是在夏天,每个月跑100公里以上,湿湿碎。但从九月份开始,就跟每月100公里说拜拜了。原因之一是雯雯开始上幼儿园。每天6点40左右就得叫她起床,再晚的话就很难保证8点前送她到幼儿园、9点前我到公司了,起床后有一堆事情做——跟她刷牙、换衣服、扎头发、吃早餐等等。这种情况下我要早起跑步的话,得5点半起床,抱雯雯起来拉尿,然后换衣服、洗把脸、喝口水,热一下身然后出门,大概6点开始跑。由于时间关系没法像以前那样跑8公里了,只能跑半小时5公里,跑完回到家喝瓶脉动、拉伸、刷牙、洗澡,大概7点可以叫雯雯起床,还是比没跑步时稍晚一些,有时实在来不及,就只能让雯雯奶奶送她去幼儿园。

从8公里到5公里,从原来7、8月5点半天亮,到现在12月6点钟天都还是黑的,我坚持跑步。天还没亮就出发去跑,其实问题不大,顶着路灯和月光,我在文化宫的球场跑道上可以一圈一圈地顾自跑下去。但如果下雨,或者冬天降温到10度以下,就没法户外跑了。这就是我买椭圆机的第二个原因:天气。往年一到冬天,我的运动量就趋近于零。有了椭圆机之后,希望别再过囤积脂肪的冬天了。现在我一般是每周两次椭圆机,照样是早上5点半起床,每次踩椭圆机半小时左右,然后现在天还不太冷,周末可以一到两次户外跑,每次8到10公里,感觉挺好的。

这么坚持运动,看来我真的真的很喜欢跑步。之前读了《自控力》,还有看了连岳的一篇文章 《做难一点的事》,都很有启发,也成为我坚持跑步、坚持看书的动力。每天睡到七、八点起床,很舒服,但为何不试试更难一些的早起呢。每天在上下班的地铁上,刷手机、票圈、各种新闻八卦,很容易,但为何不试试更难一些的看看 Kindle 读读书呢。诚如连岳所说,我们绝大多数人不是天才,也没有很好的运气,想要出众,唯有努力。

戴尔 P2415Q

用戴尔 P2415Q 的感受,正如某些网友的评论,就是“MacBookPro 的绝配”!显示效果基本跟 Retina 屏幕一致。之前犹豫了一段时间,觉得 3K 软妹币不便宜啊。但除了做更难的事情之外,有时也要尝试做一些有代价但值得付出的事情,不是吗。

阅读更多

何谓简单

Lisp 往事

2011年,读《黑客与画家》,其中有一篇《拒绝平庸》,里面说道,“编程就应该使用最强大的语言”。虽然我不完全认同这句话,但这可是出自 Paul Graham 之口啊,他这句话勾起了我对 Lisp 的强烈好奇心。Lisp 号称是最强大的语言,真的这么强吗?将来会不会把 Java C++ 之类的都干掉?我迫不及待地想一探究竟。于是,读完《黑客与画家》之后,我找到了 Practical Common Lisp,开始学 Common Lisp。

结果证明,Lisp 是我遇到的最难学的语言,我断断续续读完了书的前八章,艰难的学会了关键的 macro,然后就没有然后了。至今想起来,没能把 Practical Common Lisp 读完,多少有些遗憾,因为,单纯从编程语言的角度来说,Lisp 的设计实在太独特、太巧妙了,学习这样一种元语言,绝对能开拓人的思路。另外,学会 Lisp 然后拿来装逼也是妥妥的,哈哈。

如今,在7年之后,我又一次有了跟当年类似的感觉:因为一篇文章(准确来说是一个演讲),对一种编程语言产生了浓厚的兴趣,迫不及待地想学这种语言。这个演讲,就是 Rich Hickey 的 Simple Made Easy。这种语言,就是 Clojure。真巧,又一种 Lisp 方言!

阅读更多

世界梦号邮轮日本之旅

启程

9月3号傍晚在南沙登船,原以为在南沙客运港上船,结果并!不!是!而是在南沙集装箱三期码头上的船,接近百万葵园那边了,相当远。船上住五晚,9月7号上午下船。中间有两次上岸,分别是冲绳那霸和宫古岛,每次在岸上的时间大约半天。

👆码头的夕阳

阅读更多

吐槽一下 DDoS 和敏捷开发

别误会,并不是说敏捷开发模式不好、DDoS 有什么问题,而是说“敏捷开发”、“分布式拒绝服务攻击”这样的名词,容易让人误解。

每次看到“分布式拒绝服务攻击” (distributed denial-of-service attack) 这个词,我总觉得有些尴尬,“拒绝”一般是从服务提供者的角度来说的,“拒绝服务”,听起来感觉像是服务提供者 主动 做的一件事:我不愿意提供服务了。这样的叫法非常奇怪,举个栗子,王者农药,我们英雄发动技能一刀下去对方掉10%血,然后这个技能叫“喷血攻击”。。。莫名其妙对吧,因为“喷血”类似“拒绝服务”是一个描述自身行为的词,带有主观的意味,从受攻击者的主观角度来描述一个攻击,让人费解。

阅读更多

记一次压力测试问题排查过程

1、初始现象

用于测试的架构:一台 Nginx,upstream 为一至三台 Tomcat,Tomcat 应用连接了两套 Redis (由于历史遗留原因。。。):一套是3主3从的 Redis 集群,一套是1主1从的单节点 Redis。

机器:被测机器都是物理机,CPU 都是16核或24核以上,内存 32G ~ 128G,千兆网卡。

测试方法:一台压力机,使用 ab 测试 Nginx 的动态页面,一次页面请求大概会查询10来次 Redis,没压力时响应时间一般在500ms以下。

【测试结果】:Nginx 带一台 Tomcat 时,QPS 为 2500 ~ 3000;Nginx 带两台 Tomcat 时,QPS 为 3000 ~ 3300;三台 Tomcat 时,跟两台 Tomcat 一样。

机器表现:Nginx 和 Tomcat 机器的 CPU 负载不高,30%左右。Redis 机器负载较低。从监控上看带宽也没到瓶颈。

阅读更多

Life Release 2017

18 本书

《金色梦乡》《点与线》《十角馆事件》《单挑》《余生皆假期》《自控力》《奥杜邦的祈祷》《间谍课:最精妙的骗局》《砂器》《被遗忘的故事》《人性的弱点》《寻路中国》《最好的告别》《复仇者》《巨人的陨落》《月亮与六便士》《权力与荣耀》《恋情的终结》

18本书,比去年还多两本,是近几年的顶峰。我原以为会更多的,毕竟多数是小说,尤其是推理小说,有时一个周末就读完一本了。实体书跟电子书各一半,我猜明年可能会读更多的实体书,因为发现南沙图书馆买了挺多新书,其中不少都是我想读的。

今年爱上了两位作家,伊坂幸太郎和格雷厄姆·格林。伊坂的《金色梦乡》是我的年度最爱小说,没有之一。可惜后续读的伊坂的几本书,感觉都没有《金色梦乡》好看,包括成名作《奥杜邦的祈祷》。格林的小说目前读了两本,《权力与荣耀》和《恋情的终结》,感觉新奇、有趣、深刻,其中关于宗教的想法引人深思,很想再找格林的其他书来看。

非小说类的书,今年读了4本,量少,但都是好书。像《自控力》、《人性的弱点》、《最好的告别》,都是影响了我人生观价值观的,感觉受用一生。明年,希望继续找一些这种通识、科普类的书来读,当然还有互联网、技术相关的书,有一段时间没读了。

阅读更多