很早之前,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...