1. 使用perf/SystemTap分析pagefault

    pagefault在使用大量内存的场景下是一个不可忽视的性能损耗,而且在用户态中,该行为是透明的,不好分析和测量,因此必须借助外部工具才能分析。

    2019/09/27 linux tool SystemTap perf

  2. minio/dsync 分布式锁

    minio/dsync 是一个 go 语言实现的,分布式锁工具库,使用在Minio Object Storage,其设计宗旨是追求简单,因此横向扩展能力比较局限,通常小于 32 个分布式节点。任一节点回向全部节点广播锁请求消息,然后获得n/2 + 1赞同的节点会成功获取到锁。释放锁时,还会向全...

    2019/09/20 distributed-programming

  3. RDCSS 一种通用 CAS2 实现

    介绍

    2019/09/04 datastructure

  4. 提升go编译器内联程度

    根据Proposal: Mid-stack inlining in the Go compiler,当前go1.9+已经支持用户调整编译器的内联程度。

    2019/06/20 go

  5. 修复Ubuntu /boot 目录满时APT错误

    最近在修复VPS的过程中遇到了一个APT的问题,无论APT执行什么都汇报错误: Reading package lists... Done Building dependency tree Reading state information... Done You might want to ...

    2019/06/13 linux tool

  6. go优雅升级/重启工具调研

    对于一个常驻、高访问量的网络服务来说,升级/重启时,一个难以忽视的问题是避免对正在通信的客户端造成影响。因此大家一直在寻求一种优雅、零宕机的升级/重启方案(seamless reload/upgrade)。在工程师们的日常实践中,尝试了不同的方案。各方案的核心都是fork-exec流程,其不同...

    2019/06/06 go

  7. 使用markdown画流程图/甘特图 - Mermaid

    在本博客中使用mermaid将文字渲染成对应的流程图、甘特图等,是非常友好且利于版本管理的方式。具体语法可以参考连接中的文档。页面代码修改可以参考本次提交。

    2019/05/08 tool

  8. TCP中继加速传输速度

    该博主的几篇文章,系统的从原理、实践中讲述了TCP中继加速网络传输的方案。讲的非常赞。

    2019/04/29 tcp