cwen


Life is magic. Coding is art.

TC - Linux 流量控制工具

最近一个新任务,需要模拟限制主机带宽的场景,之前只是知道使用 tc 是可以做到模拟网络延迟、网络丢包等情况,所有就想应该 tc 也可以搞定限制带宽的情况,就在网上搜了一波,果不其然 tc 还是强大,可是对于用来限制带宽,操作起来还是很蛋疼,踩了不少坑..


漏桶算法 && 令牌桶算法

在看 TC 文档的时候,文档中提到了 token bucket,TC 中可以使用这个算法来进行流量控制,模糊印象中听过这个算法,但是并不知道这个算法具体是什么,就好奇的去一探究竟…


TiDB 性能优化之玄学调优

TiDB 玄学调优是我们自黑比较狠的梗之一,当初 TiKV 里大把的参数让我头疼了好久 ( TiKV 的配置参数大多数是和 RocksDB 相关 )。好在现在很多参数现在的默认值已经很科学大大的减少了我们玄学调优的难度。 以下是是我平时在测试 TiDB 时候,进行瓶颈定位的过程…


Percolator 论文笔记

TiDB 的事务模型是参考 Google Percolator 事务模型,想去研究 TiDB 的事务模型,学习一下 Google Percolator 论文必不可少…


MVCC In TiKV

很多数据库都会实现多版本控制(MVCC),TiKV 也不例外,刚好最近在看 TiKV,对于 MVCC 以及 TiKV 内是如何使用 MVCC 的做个简单笔记…


Spanner 论文笔记

刚到公司的时候,记得奇哥就推荐了几篇基础论文(尴尬,目前我还没有完全看完),Spanner 论文就是其中之一,同时 TiKV 的设计架构也是受到了 Spanner 的启发,在阅读 Spanner 论文的同时,记录些东西,方便以后回顾复习…


Leader Transfer In TiKV

在 TiKV 中,PD 当发现 TiKV 实例上 region 出现 leader 不均匀的时候,会尝试将 leader 从数量比较多的地方 transfer 到其地方,具体调度指令由 PD 发出,TiKV 接收到 PD 的 transfer leader 指令,调用 raft 操作执行真正操作…


rust 笔记 - 构建多线程 web server

入坑 rust, 学习如何来用 rust 构建多线程 web server…


分布式系统里的时间、时钟和事件顺序

以往编写单机程序的时候,如何来判断先后顺序,第一个想到的就是分配一个唯一时间戳,然后根据时间戳的大小来判断事件发生的先后顺序, 但是放在分布式系统就不一定有效…


GFS 笔记 - MIT-6.824

GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务…