很早之前,TiDB 流传着一个段子 - 『每天只有 24 次编译 TiKV 的机会』,虽然现在这个黑历史早就成了过去,完整编译一次 TiKV 的时间其实也就是 10 分钟,使...
很早之前,TiDB 流传着一个段子 - 『每天只有 24 次编译 TiKV 的机会』,虽然现在这个黑历史早就成了过去,完整编译一次 TiKV 的时间其实也就是 10 分钟,使...
信心的毁灭与重建 在我最开始学习编程的时候,我一直觉得写程序是很简单的事情,程序总是按照我的想法串行的执行的,给一个输入,总是有着符合预期的固定输出。那时候写代码,可能大的挑...
一些机缘巧合,认识了在测试领域做了很深入研究的 Manuel Rigger,也读了他的三篇 Paper,算是收益匪浅吧,让我从另一个角度来思考到底我们如何更好的测试 TiDB...
提供高性能的读写服务是分布式研发工程师一直追求的目标,譬如在 TiDB 中,我们就基于原生的一致性算法 Raft 做了非常多的改进和性能优化。当然,在分布式领域,复制协议不光...
对于很多用户来说,一直希望 TiDB 能提供多租户的能力,也就是大家只想部署一个 TiDB 集群,然后将所有的租户业务放在这个 TiDB 集群上面运行。但其实我们并没有原生提...
最近愈发感觉时间不够用,事情太多,精力不足,所以一直在思考如何提升自己的效率,更好的利用时间。当然这方面的书籍也看了一些,不过最近看的一本《精力管理》,让我可以从另一个维度来...
最近读了一本书《麦肯锡高效阅读法》,稍微还是有点收获的。作为一个读书控,一直在找寻能高效读书的方法,其实之前看过一本书,叫做《如何阅读一本书》,但苦于里面的东西写的实在是太细...
最近看了一本书,叫做 《The Effective Engineer》,中文名翻译过来大概就是《高效率工程师》这种吧。收益良多,决定写一下读书笔记,因为书里面的 Engine...
对于一个系统来说,日志具有非常重要的作用,当我们遇到某个问题,可以直接登录到机器上面,看看日志,grep 下关键信息,在辅助其他一些手段,多数就能快速定位问题了。但是,对于分...
最近看到一篇 Paper,Observability and Chaos Engineering on System Calls for Containerized Appl...
对于从事数据库相关的同学来说,对数据库进行性能测试是一个永远绕不开的话题。这个世界上有很多的数据库性能测试工具,而 sysbench 可以算是大家用的最多的之一。 根据官网的...
相比于 Intel 的 x86-64 架构,ARM 架构虽然作为后来者,但在服务器领域也开始在不停地攻城拔寨,很多企业也开始将自己的服务迁移到 ARM 架构上面,自然,对于 ...
在多数时候,我们都只会在 Linux 系统上面去运行 TiKV,所以很多的调优经验都是基于 Linux 的,譬如如何使用 perf,如果使用 bcc 相关的工具,还有 ftr...
在并发编程领域,一个非常让程序员兴奋,感到有成就感的事情就是做性能优化,譬如发现某个线程成为了单点瓶颈,然后上多线程。 提到了上多线程,那自然就会引入 thread pool...
对于 TiKV 来说,我们使用的是 Prometheus 来收集系统所有的 metrics,在加上 Grafana,几乎已经成为了业界的一个标准的解决方案。但是,Promet...
在并发编程领域,Rust 提供了完善的机制来保证并发编程的安全,我们可以非常方便的使用 Mutex,Arc,Channel 等库来处理我们的并发逻辑。 但在有些时候,为了更高...
最后举的例子有个笔误: 4. B 在 Log 10 的位置写入了另一个新的 Log, "Log 10" -> “Log 100”
在 TiKV 里面,我们使用的是 grpc-rs,这是我们自己维护的一个 Rust gRPC 库,主要是使用 Future 这个特性,封装了 Google 的 C gRPC,...
这几天在折腾 go-ycsb 的 docker 环境的时候,一直被一件简单的事情困扰,就是升级了 go 使用了 go mod 之后,已经没有 vendor 了,那么每次在 d...