很早之前,TiDB 流傳著一個(gè)段子 - 『每天只有 24 次編譯 TiKV 的機(jī)會(huì)』,雖然現(xiàn)在這個(gè)黑歷史早就成了過去,完整編譯一次 TiKV 的時(shí)間其實(shí)也就是 10 分鐘,使...
很早之前,TiDB 流傳著一個(gè)段子 - 『每天只有 24 次編譯 TiKV 的機(jī)會(huì)』,雖然現(xiàn)在這個(gè)黑歷史早就成了過去,完整編譯一次 TiKV 的時(shí)間其實(shí)也就是 10 分鐘,使...
信心的毀滅與重建 在我最開始學(xué)習(xí)編程的時(shí)候,我一直覺得寫程序是很簡單的事情,程序總是按照我的想法串行的執(zhí)行的,給一個(gè)輸入,總是有著符合預(yù)期的固定輸出。那時(shí)候?qū)懘a,可能大的挑...
一些機(jī)緣巧合,認(rèn)識(shí)了在測(cè)試領(lǐng)域做了很深入研究的 Manuel Rigger,也讀了他的三篇 Paper,算是收益匪淺吧,讓我從另一個(gè)角度來思考到底我們?nèi)绾胃玫臏y(cè)試 TiDB...
提供高性能的讀寫服務(wù)是分布式研發(fā)工程師一直追求的目標(biāo),譬如在 TiDB 中,我們就基于原生的一致性算法 Raft 做了非常多的改進(jìn)和性能優(yōu)化。當(dāng)然,在分布式領(lǐng)域,復(fù)制協(xié)議不光...
對(duì)于很多用戶來說,一直希望 TiDB 能提供多租戶的能力,也就是大家只想部署一個(gè) TiDB 集群,然后將所有的租戶業(yè)務(wù)放在這個(gè) TiDB 集群上面運(yùn)行。但其實(shí)我們并沒有原生提...
最近愈發(fā)感覺時(shí)間不夠用,事情太多,精力不足,所以一直在思考如何提升自己的效率,更好的利用時(shí)間。當(dāng)然這方面的書籍也看了一些,不過最近看的一本《精力管理》,讓我可以從另一個(gè)維度來...
最近讀了一本書《麥肯錫高效閱讀法》,稍微還是有點(diǎn)收獲的。作為一個(gè)讀書控,一直在找尋能高效讀書的方法,其實(shí)之前看過一本書,叫做《如何閱讀一本書》,但苦于里面的東西寫的實(shí)在是太細(xì)...
最近看了一本書,叫做 《The Effective Engineer》,中文名翻譯過來大概就是《高效率工程師》這種吧。收益良多,決定寫一下讀書筆記,因?yàn)闀锩娴?Engine...
對(duì)于一個(gè)系統(tǒng)來說,日志具有非常重要的作用,當(dāng)我們遇到某個(gè)問題,可以直接登錄到機(jī)器上面,看看日志,grep 下關(guān)鍵信息,在輔助其他一些手段,多數(shù)就能快速定位問題了。但是,對(duì)于分...
最近看到一篇 Paper,Observability and Chaos Engineering on System Calls for Containerized Appl...
對(duì)于從事數(shù)據(jù)庫相關(guān)的同學(xué)來說,對(duì)數(shù)據(jù)庫進(jìn)行性能測(cè)試是一個(gè)永遠(yuǎn)繞不開的話題。這個(gè)世界上有很多的數(shù)據(jù)庫性能測(cè)試工具,而 sysbench 可以算是大家用的最多的之一。 根據(jù)官網(wǎng)的...
相比于 Intel 的 x86-64 架構(gòu),ARM 架構(gòu)雖然作為后來者,但在服務(wù)器領(lǐng)域也開始在不停地攻城拔寨,很多企業(yè)也開始將自己的服務(wù)遷移到 ARM 架構(gòu)上面,自然,對(duì)于 ...
在多數(shù)時(shí)候,我們都只會(huì)在 Linux 系統(tǒng)上面去運(yùn)行 TiKV,所以很多的調(diào)優(yōu)經(jīng)驗(yàn)都是基于 Linux 的,譬如如何使用 perf,如果使用 bcc 相關(guān)的工具,還有 ftr...
在并發(fā)編程領(lǐng)域,一個(gè)非常讓程序員興奮,感到有成就感的事情就是做性能優(yōu)化,譬如發(fā)現(xiàn)某個(gè)線程成為了單點(diǎn)瓶頸,然后上多線程。 提到了上多線程,那自然就會(huì)引入 thread pool...
對(duì)于 TiKV 來說,我們使用的是 Prometheus 來收集系統(tǒng)所有的 metrics,在加上 Grafana,幾乎已經(jīng)成為了業(yè)界的一個(gè)標(biāo)準(zhǔn)的解決方案。但是,Promet...
在并發(fā)編程領(lǐng)域,Rust 提供了完善的機(jī)制來保證并發(fā)編程的安全,我們可以非常方便的使用 Mutex,Arc,Channel 等庫來處理我們的并發(fā)邏輯。 但在有些時(shí)候,為了更高...
最后舉的例子有個(gè)筆誤: 4. B 在 Log 10 的位置寫入了另一個(gè)新的 Log, "Log 10" -> “Log 100”
_飛翔的梵高 評(píng)論自深入淺出 Raft - Leader 選舉
在 TiKV 里面,我們使用的是 grpc-rs,這是我們自己維護(hù)的一個(gè) Rust gRPC 庫,主要是使用 Future 這個(gè)特性,封裝了 Google 的 C gRPC,...
這幾天在折騰 go-ycsb 的 docker 環(huán)境的時(shí)候,一直被一件簡單的事情困擾,就是升級(jí)了 go 使用了 go mod 之后,已經(jīng)沒有 vendor 了,那么每次在 d...