IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Ext4

共 2 篇相关文章

IT 累计浏览 2,645

ext4+delalloc造成单次写延迟增加的分析

这篇讲的是淘宝内核组在将线上系统升级到Ext4文件系统后,发现应用写操作延迟异常增大的故障。根源在于Ext4的新特性“延迟分配”(delalloc)。 简单来说,delalloc为了优化后续的顺序访问性能,将原本每次写操作都会进行的磁盘块分配过程,推迟到了系统批量回写数据时才进行。这导致了一个关键的锁竞争问题:回写进程在批量分配磁盘块时需要持有排他写锁(i_data_sem),这个过程可能耗时较长(例如约30秒一次)。如果此时有应用程序发起新的写操作,它就必须等待这把锁释放,从而导致单次写操作的延迟被显著拉高。 作者通过fio工具进行了量化测试:开启delalloc后,虽然写操作的平均延迟更低(5.86微秒 vs 7.00微秒),但最大延迟却飙升到了193毫秒,是关闭时(16毫秒)的10倍以上。这清晰地说明了delalloc“集中处理”带来的长尾延迟问题。 对于使用Buffer IO进行追加写、不主动刷新数据且对延迟敏感的应用,这个问题会尤为突出。文章给出的解决方法是在挂载时加上`nodelloc`参数来关闭此特性。

IT 累计浏览 5,437

哇,让你的DB再快一倍:ext4 vs xfs对比测试

这篇讲的是作者对ext4和xfs两种主流文件系统进行的一场性能“擂台赛”。通过实际的基准测试,文章直接展示了两者在不同负载模式下的耗时对比数据。 关键结论很清晰:在测试的特定场景下,xfs的整体性能表现更优,尤其在处理高并发I/O和大文件操作时,耗时往往低于ext4,速度提升相当明显。文章不仅给出了数据,还点明了差异背后的技术原因,比如xfs的日志机制和分配策略在特定负载下的优势。 当然,测试也揭示了ext4的适用区间。它在小文件存储和元数据密集型操作上依然稳健,对于许多常规服务器和嵌入式场景来说,仍然是开箱即用的可靠选择。所以,作者最终想帮你做的选择题是:根据你的业务负载特性——是偏向海量小文件,还是大文件高吞吐——来挑选那个能让你的存储系统跑得更快的文件系统。