摘要:从Linux源码看TIME_WAIT状态的持续时间 前言 笔者一直以为在Linux下TIME_WAIT状态的Socket持续状态是60s左右。线上实际却存在TIME_WAIT超过100s的Socket。由于这牵涉到最近出现的一个复杂Bug的分析。所以,笔者就去Linux源码里面,一探究竟。 首先介绍 阅读全文
posted @ 2020-10-27 11:27 无毁的湖光-Al 阅读(846) 评论(2) 推荐(1) 编辑
摘要:自己动手写SQL执行引擎 前言 在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。 整体结构 既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍 阅读全文
posted @ 2020-09-25 10:17 无毁的湖光-Al 阅读(4436) 评论(41) 推荐(56) 编辑
摘要:解Bug之路-记一次对端机器宕机后的tcp行为 前言 机器一般过质保之后,就会因为各种各样的问题而宕机。而这一次的宕机,让笔者观察到了平常观察不到的tcp在对端宕机情况下的行为。经过详细跟踪分析原因之后,发现可以通过调整内核tcp参数来减少宕机造成的影响。 Bug现场 笔者所在的公司用某个中间件的古 阅读全文
posted @ 2020-09-21 10:16 无毁的湖光-Al 阅读(1592) 评论(6) 推荐(10) 编辑
摘要:解Bug之路-NAT引发的性能瓶颈 笔者最近解决了一个非常曲折的问题,从抓包开始一路排查到不同内核版本间的细微差异,最后才完美解释了所有的现象。在这里将整个过程写成博文记录下来,希望能够对读者有所帮助。(篇幅可能会有点长,耐心看完,绝对物有所值~) 环境介绍 先来介绍一下出问题的环境吧,调用拓扑如下 阅读全文
posted @ 2020-11-11 09:55 无毁的湖光-Al 阅读(1845) 评论(35) 推荐(37) 编辑
摘要:Python批量图片识别并翻译——我用python给女朋友翻译化妆品标签 最近小编遇到一个生存问题,女朋友让我给她翻译英文化妆品标签。美其名曰:"程序猿每天英语开发,英文一定很好吧,来帮我翻译翻译化妆品成分",”来,帮我看看这个面膜建议敷几分钟“。。。。看来斥巨资买化妆品不算完,还需要会各种英文介绍 阅读全文
posted @ 2020-10-29 18:29 无毁的湖光-Al 阅读(454) 评论(0) 推荐(2) 编辑
摘要:从Linux源码看TIME_WAIT状态的持续时间 前言 笔者一直以为在Linux下TIME_WAIT状态的Socket持续状态是60s左右。线上实际却存在TIME_WAIT超过100s的Socket。由于这牵涉到最近出现的一个复杂Bug的分析。所以,笔者就去Linux源码里面,一探究竟。 首先介绍 阅读全文
posted @ 2020-10-27 11:27 无毁的湖光-Al 阅读(846) 评论(2) 推荐(1) 编辑
摘要:从Linux源码看Socket(TCP)的listen及连接队列 前言 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Server端的Socket在进行listen的时候到底做了哪些事情(基于Linux 3.10内核 阅读全文
posted @ 2020-10-20 10:34 无毁的湖光-Al 阅读(1500) 评论(8) 推荐(8) 编辑
摘要:记一次讲故事机器人的开发-我有故事,让机器人来读 最近工作较忙,回家闲下来只想闭目休息,一分钟屏幕都不想再看,然而我又想追更之前看的小说,于是,需求来了——我需要一个给我讲故事的机器人! 浏览器或者阅读器App里其实也有朗读功能,但是比较僵硬,总是将引人入胜的情节念成流水账,分分钟让人弃坑,所以我考 阅读全文
posted @ 2020-10-17 10:59 无毁的湖光-Al 阅读(240) 评论(1) 推荐(0) 编辑
摘要:从Linux源码看Socket(TCP)的bind 前言 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Server端的Socket在进行bind的时候到底做了哪些事情(基于Linux 3.10内核)。 一个最简单的 阅读全文
posted @ 2020-10-16 11:00 无毁的湖光-Al 阅读(396) 评论(1) 推荐(0) 编辑
摘要:解Bug之路-记一次存储故障的排查过程 高可用真是一丝细节都不得马虎。平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug。偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题,特别是偶发性出现的问题更难排查。今天,笔者就给大家带来一个存储偶发性故障的排查过程。 Bug现场 我 阅读全文
posted @ 2020-10-14 10:44 无毁的湖光-Al 阅读(1570) 评论(12) 推荐(11) 编辑
摘要:解Bug之路-记一次线上请求偶尔变慢的排查 前言 最近解决了个比较棘手的问题,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。 Bug现场 这是一个偶发的性能问题。在每天几百万比交易请求中,平均耗时大约为300ms,但总有那么100多笔会超过1s,让我们业务耗时监控的99.99线变得很尴尬。如 阅读全文
posted @ 2020-10-12 10:40 无毁的湖光-Al 阅读(2461) 评论(29) 推荐(24) 编辑
摘要:有了它,实现实时翻译还远吗? 最近,某水果手机厂在万众期待中开了一场没有发布万众期待的手机产品的发布会,发布了除手机外的其他一些产品,也包括最新的水果14系统。几天后,更新了系统的吃瓜群众经过把玩突然发现新系统里一个超有意思的功能——翻译,比如这种: 奇怪的翻译知识增加了! 相比常见的翻译工具,同声 阅读全文
posted @ 2020-10-10 11:00 无毁的湖光-Al 阅读(585) 评论(1) 推荐(0) 编辑
摘要:MySQL多版本并发控制机制(MVCC)-源码浅析 前言 作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻,但只能提纲挈领,不能让你玩转某个真正的数据库。感谢cmake,能够让我在mac上用xcode去debug My 阅读全文
posted @ 2020-10-09 10:07 无毁的湖光-Al 阅读(545) 评论(2) 推荐(2) 编辑