NJSD eBPF 技术文档 - 0924版本析 • 对⽐测试 • ⽂件访问测试直接访问ext4 • 通过FUSE访问passthrough_ll底层ext4 • 内核调⽤延迟测试 • 与FUSE Daemon通讯120us左右,FUSE Daemon⼤概10us以内 • 瓶颈在/dev/fuse通讯开销基于FUSE可能的优化点 • 降低内核与libfuse通讯延迟 • 基于⽂件属性的操作内核直接返回? • vpp / f-stack / DirectFUSE • Kernel版本实现 • BentoFS 基于rust的实现采⽤LD_Preload⽅式瓶颈分析 • 环境 • FUSE daemon使⽤ passthrough_ll 调⽤底层ext4 • 进程共享内存通信延迟10us+ • others 开销 10us+ • fuse_ll_ops开销10us-基于FUSE的优化框架0 码力 | 20 页 | 7.40 MB | 6 月前3
PFS SPDK: Storage Performance Development Kit所以容易移植现有代码到PFS存储引擎 ●CurveBS对文件系统元数据的操作非常少,对文件系统的要求不高, 所以不需要元数据高性能,这方面PFS也合适10/17/22 6 对PFS的修改 ●基于阿里开源的PFS ●不再基于daemon模式,而是直接使用pfs core api ●依然向外提供管理工具, 例如 pfs ls、cp、rm等 ●增加spdk驱动10/17/22 7 新增PFS接口 ●增加pfs_pwritev和pfs_preadv接口 ●网络部分依赖内核tcp,不是零copy10/17/22 18 进展 ●还在测试CurveBS ●布置、监控等工具需要更新10/17/22 19 性能测试 ●使用pfs daemon测试 ●估计非daemon模式的会更快一点,因为没有跨进程开销10/17/22 20 Write,DMA write,Write-zero测试10/17/22 21 fio 4k 1个并发+单深度10/17/220 码力 | 23 页 | 4.21 MB | 6 月前3
Curve支持S3 数据缓存方案后台刷数据线程 本地磁盘缓存 关键数据结构 详细设计 Write流程 Read流程 ReleaseCache流程 Flush流程 FsSync流程 后台流程 poc测试验证 背景 基于s3的daemon版本基于基本的性能测试发现性能非常差。具体数据如下: 通过日志初步分析有2点原因© XXX Page 3 of 9 1.append接口目前采用先从s3 get,在内存中合并完后再put的方式,对s3操作过多 更新元数据,清理DataCache缓存,DataCacheNum_减1。 5.遍历完一轮DataCache后,获取DataCacheNum值,如果不为0,则继续遍历,如果为0则回到1步骤。 poc测试验证 根据上述设计,完成初步daemon,测试结果如下图 目前看写性能有明显的提升,但时延仍然很高, 。 需要进一步分析0 码力 | 9 页 | 179.72 KB | 6 月前3
Curve元数据节点高可用y值Leader/MDS2,获取失败,退出 MDS2 Campagin成功后再次获取竞选时使用的key值Leader/MDS3,获取失败,退出 这种情况可以被正确的处理,三个mds都退出,依赖daemon重新拉起,发起新一轮的MDS leader竞选。 4.2.4.4 总结 etcd集群发生leader选举的情况,会造成MDS出现双主或者一段时间内没有MDS提供服务的情况。© XXX Page0 码力 | 30 页 | 2.42 MB | 6 月前3
CurveFs 用户权限系统调研&se->conn); } // libfuse include/fuse_kernel.h // This is the first request sent by the kernel to the daemon. It is used to negotiate the protocol version and other filesystem parameters. struct fuse_init_in0 码力 | 33 页 | 732.13 KB | 6 月前3
共 5 条
- 1













