assembly
cpp
- cmake 实践
- 精通 cmake
- 如何使用 identity 元函数禁止模板自动推导
- INTRODUCTION TO LLVM LLVM 的基本介绍,组成部分,编译流程,LLVM Pass
- ELF Handling For Thread-Local Storage 讲解线程本地存储在不同平台、不同场景下内部的实现。
go
rust
- 在 Mac 下面调优 TiKV MacOS 下调优 RUST 的方法
linux
- 深度分析 Linux 下双网卡绑定七种模式
- Linux High Loadavg Analysis 如何理解 CPU load 的含义,如何排查 load 增高的原因。此方面讲解最全面、最详细的一篇文章。
- Linux 内幕
文件系统
- Linux 文件空洞与稀疏文件 讲解 linux 文件系统下文件空洞与稀疏文件
- Linux 内核文件 Cache 机制
- Linux 内核写文件过程
- Linux 内核延迟写机制
- Linux 通用块设备层
- Linux 内核 IO 调度层
- Linux 内核读文件过程
调优诊断
- 看懂 vmstat/mpstat 数据诊断
- Linux CPU 占用率原理与 精确度分析
- 震惊,用了这么多年的 CPU 利用率,其实是错的:如何正确理解 CPU 使用率,找到系能问题所在。
- Linux Systems Performance in 50 mins
- Linux Performance Tools 主要讲 Linux 系统各方面都有哪些 debug 工具(观察、系能压测、调优、统计)、debug 方法论
- Linux Performance Tools - 2015 主要讲 Linux 系统各方面都有哪些 debug 工具,其中内容比 👆 更丰富一点。
火焰图
- Blazing Performance with Flame Graphs 火焰图入门,教如何看图、生成图
- Linux CPI FlameGraph 识别负载类型(CPU/MEMORY Bound) 当 CPU 使用率高时,CPU 行为分析,哪些 stall 行为在浪费 CPU。如何生成 CPI 火焰图,如何看图。
- Linux Profiling At Netflix 如何使用
perf
,可能会遇到哪些问题(栈损坏\符号丢失),如何修复它们。
SystemTap
- Using SystemTap with Linux SystemTap 入门,将一些基本的语法、数据结构
分布式原理
- 分布式系统一致性的发展历史 (一) 本文的目的就是带你回顾从 70 年代起, 到如今百花齐放的分布式系统中一致性问题的发展和演化,主要讲分布式时序以及线性一致性和顺序一致性
- 分布式系统一致性的发展历史 (二) 根据分布式故障作为引子,讲述分布式共识的历史。
- 请不要再称数据库是 CP 或者 AP 讲解 CAP 的真实含义及其讨论范围,及其为什么在网络分区的情况下,我们要放弃可用性和一致性中的一个。
- awesome-distributed-systems 分布式博库、论文集合
DHT/数据分布
- 一致性哈希算法(一)- 问题的提出 连续四篇,从原理出发,举例几种一致性哈希算法,研究其均匀性与一致性。图文并茂,讲解细致。
- 一致性哈希算法(二)- 哈希环法
- 一致性哈希算法(三)- 跳跃一致性哈希法
- 一致性哈希算法(四)- Maglev 一致性哈希法
database
- 基于混合逻辑时钟的分布式事务实现深度剖析 讲述数据库为什么需要时钟,在分布式环境下如何解决时钟,对比优劣。
- 数据库系统的优化与调优:从理论到实践 讲述了从串行和并行的角度如何优化。排队论揭示优化的上限。以及在 MySQL 中的一些实践,以及结合硬件特性的一些优化案例。
- 利用新硬件提升数据库性能.pptx
- 数据库管理系统架构 本文翻译自经典英文论文《Architecture of a Database System》,原文作者是 Joseph M. Hellerstein, Michael Stonebraker 和 James Hamilton。该论文可以作为中国各大高校数据库实验室研究生的入门读物,帮助学生快速了解数据库的内部运行机制。
- Oceanbase 内存事务引擎 粗略讲解了一下 Oceanbase 的事务引擎如何工作,处理事务并发、实现不同的事务隔离级别、并发事务回放等。
- 闪存数据概念与技术 介绍 SSD、Flash 特性和技术特点,以及针对其特点的数据技术。
- Dynamo: Amazon’s Highly Available Key-value Store(中文译本)
- Bigtable: A Distributed Storage System for Structured Data (中文译本)
- Ceph: A Scalable, High-Performance Distributed File System (中文译本)
mysql
canssandra
clickhouse
数据结构
- Spin 一个形式化验证多线程数据结构的工具
- 优化的 LRU 算法:Outperforming LRU with an Adaptive Replacement Cache Algorithm
- 各种数据结构的可视化展示
- Dynamic-Sized-Nonblocking-Hash-Tables, PPT 一种支持动态调整 bucket 大小,存储元素无限制的并发哈希表,但是其 bucket 层面可以做到 lockfree,但是 bucket 内部需要采用其他数据结构保证 lockfree。
- Log Structured Merge Tree 介绍
Log Structured Merge Tree
的历史以及原理。 - 现代数据库背后的算法 主要介绍 B-TREE 和 LSM 算法,并进行对比。哈佛大学的 DASlab(Data System Laboratory)研究员总结数据库系统三个关键优化因子是:read overhead(read optimized),update overhead(write optimized)和memory overhead(space optimized),简称RUM,对于一个数据库系统,最多只能将其中一项优化到极致,即另两项必须付出代价,比如 LSM,追求写优化(所以操作都是顺序写,更新操作效率高),就得付出读放大、空间放大的代价(写放大来自于compaction,是优化读性能的代价)。
API 设计
数学理论
工具
- latex 入门-简版-刘海洋
- SRE-Google 运维解密
- SRE 工作手册(google 开源书)
- 给 TiKV 开发 Grafana 的 datasource 资源提供 API 配合 Grafana,提供监控的新思路
- 硬件体系架构浅析 简介常用硬件体系、特点、基本数据、性能指标
- 现代网络负载均衡与代理导论 充分了解负载均衡的实质与效用