Perf系统调优 Perf与火焰图 FlameGraph–将采样信息转为火焰图 Perf介绍与使用: 通过perf list可查看所以支持性能事件 全局性概况: perf list查看当前系统支持的性能事件;perf bench对系统性能进行摸底;perf test对系统进行健全性测试;perf stat对全局性能进行统计; 全局细节: perf top可以实时查看当前系统进程函数占用率情况;perf pr 2025-04-22 工具与框架 #Perf #FlameGraph #Tuning
频删场景下键值存储的性能优化 RocksDB Delete Heavy OptimizationRocksDB及其上层应用RocksDB – Single Delete Single Delete会当删除墓碑与对应值在合并操作对齐时同时删除, 减少中间层删除墓碑残留 然而该机制仅适用于删除键只被写入一次且无后续更新的特定场景, 需要用户明确键的写入序列及其生命周期, 并通过编码保证安全, 如果键被多次写入后调用Single D 2025-03-31 文献笔记 #RocksDB #Compaction #Flush #KV store #LSM-tree #ZNS SSD
RocksDB的Compaction/Flush分析 RocksDB关键流程Flush流程后台Flush作业 调度Flush作业流程与compaction类似: DBImpl::BGWorkFlush–>DBImpl::BackgroundCallFlush–>DBImpl::BackgroundFlush–>DBImpl::FlushMemTablesToOutputFiles–>DBImpl::FlushMemTableT 2024-12-17 代码分析 #RocksDB #Compaction #Flush #KV store #LSM-tree
NVMe规范与技术细节 NVMe技术细节 NVMe技术细节 1 NVMe技术概述 2 队列管理 Queue Manage 3 命令仲裁机制 Arbitration 4 寻址模型PRP和SGL解析 mq-deadline调度器原理 参考自编程随笔NVMe专题 1 NVMe技术概述 AHCI: Serial ATA Advanced Host Controller Interface, 串行ATA高级主机主控接口 AH 2024-12-05 技术调研 #NVMe
Golang学习笔记 Golang3 Go语言进阶与依赖管理并发 线程: 内核态, 线程跑多个协程, 栈空间MB级 协程: 用户态, 轻量级线程, 栈空间KB级 channel 通道: make(chan 元素类型, [缓冲大小(>=2为有缓冲通道)]) lock 并发安全: sync.Mutex定义互斥锁 WaitGroup 等待组: sync.WaitGroup定义等待组, Add(delta ui 2024-11-10 工具与框架 #golang
GNU Make与CMake CMake和MakeMake与Makefile基本结构与规则1234target ... : prerequisites ... recipe ... ... target: 可以是目标文件、可执行文件或者标签 prerequisites:生成对应target对应的文件或者其他target recipe:生成target的命令,可以是任意的shell命令 变量:通过va 2024-09-26 工具与框架 #c/c++ #CMake #Make
NVMeVirt模拟ZNS SSD NVMeVirt模拟ZNS搭建步骤服务器上ZenFS的依赖已经完备,直接开装 1 ZenFS和RocksDB安装使用最新版本的RocksDB和ZenFS时,安装报错(如issue#288所示),原因时新版本的RocksDB更换了API而ZenFS未适配,使用RocksDB 8.11.3可以解决,直接按照README即可 12345git clone https://github.com/faceb 2024-06-10 工具与框架 #RocksDB #Compaction #Flush #KV store #LSM-tree #ZNS SSD #NVMe
ZNS SSD与键值存储 ZNS SSD与键值存储[TOC] 调研笔记参考文献 RocksDB: Evolution of Development Priorities in a Key-value Store Serving Large-scale Applications(TOS 2021) Understanding NVMe Zoned Namespace (ZNS) Flash SSD Storage Devi 2024-05-20 文献笔记 #RocksDB #Compaction #Flush #KV store #LSM-tree #ZNS SSD
EBS的发展历程(Fast 24 best paper) What’s the Story in EBS Glory1 EBS的发展历程 3代EBS发展历程:功能实现–>提高空间性能与空间效率–>降低网络流量放大 EBS1: 采用存算分离架构,从虚拟磁盘VD到物理磁盘的原地更新,对虚拟磁盘的独占管理,通过无状态的blockserver独占管理VD(nVDs–1BS),但是直接虚拟化带来了严重的空间放大和性能瓶颈 EBS2: 日志结构和虚拟磁盘 2024-04-02 文献笔记 #EBS #Distributed Storage
C和C++多线程 多线程C多线程1 线程1.1 创建线程int pthread_create(pthread_t * tid, const pthread_attr_t * attr, void * ( * func) (void * ), void * arg); 创建进程成功返回1, 否则返回错误码 pthread_t * tid: 带回线程id, pthread_t是一个无符号整数类型 pthread_at 2024-03-26 工具与框架 #c/c++ #multithread