Raft算法原理
记录raft原理的个人理解
RPC实战与核心原理(一)
《RPC实战与核心原理》阅读笔记(一)
Once的用法与实现
sync.Once用法记录
pprof学习笔记
什么是pprof pprof是用于可视化和分析性能分析数据的工具,pprof以pprof.proto读取分析样本的集合,并生成报告以可书画并帮助分析数据。 而pprof.proto是一个 protobuf的描述文件,它描述了一组callstack和symbolization信息,作用是统计分析的一组采样的调用栈。 一般来说,性能分析主要关注CPU,内存,磁盘IO,网络这些指标。
pprof有一下4种类型:
CPU profiling(cpu性能分析):用于分析函数或方法的执行耗时; Memory profiling:用于分析程序的内存占用情况; Block profiling:用于记录goroutine在等待共享资源花费的时间; Mutex profiling:用于记录因为锁竞争导致的等待或延迟。 pprof的采样方式 runtime/pprof:采集程序(非 Server)的指定区块的运行数据进行分析。 net/http/pprof:基于HTTP Server运行,并且可以采集运行时数据进行分析。 go test:通过运行测试用例,并指定所需标识来进行采集。 pprof的使用 demo代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package main import ( "log" "net/http" _ "net/http/pprof" ) func main() { go func() { for { log.
Kong使用笔记
kong使用笔记
net/http标准库
net/http源码解析
3.2 多进程编程
《Go并发编程实战第二版》阅读笔记
GMP调度
gmp调度分析
Mutex解析
鸟窝大佬的go并发编程阅读记录,从初版mutex到第四版的源码分析
Context源码分析
Context是 Go 语言中非常有特色的一个特性, 其主要的作用是在 goroutine 中进行上下文的传递,而在传递信息中又包含了 goroutine 的运行控制、上下文信息传递等功能。