Linux 高速写入的性能问题

2022-08-08 09:35:01 +08:00
 Peakday

A 进程持续从网络接口获取数据并写入多个文件,目前使用的 tmpfs 分区存储,初始写入速度可以到到 1.4Gbytes/s ,但后面由其他的进程(多个进程,统称为 B)去读取这些文件并再次写入到 tmpfs 分区,A 的写入速度会下降到 800Mbytes/s ,可能是 tmpfs 性能的问题?使用 dd 命令测试 tmpfs 写入速度在 1.8Gbytes/s

为什么觉得是 tmpfs 性能的问题?因为如果取消所有的进程 B ,只保留 A 进程对 tmpfs 的写入,性能可以维持在 1.4Gbytes/s

Q1 、是由于 tmpfs 分区内存不断申请分配导致的写入性能下降吗? Q2 、有什么办法或思路可以解决吗

2976 次点击
所在节点    Linux
7 条回复
sivacohan
2022-08-08 09:46:34 +08:00
你先禁用虚拟内存试试
Peakday
2022-08-08 09:47:46 +08:00
@sivacohan swap 吗,swap 已经关闭
Judoon
2022-08-08 09:58:01 +08:00
dd 是顺序读写的?
你多个进程,是随机的吧?
fio 测过么
VYSE
2022-08-08 10:18:30 +08:00
试试固定内存一半的 /dev/shm
yinheli
2022-08-08 12:51:20 +08:00
怎么感觉是到了内存带宽瓶颈?可以分别试试 1,2,4 固定多个进程试试,总的带宽是不是比较固定
yinheli
2022-08-08 13:02:27 +08:00
我用 fio 测试的时候,随着 jobs 数量增加,总体速度是会触顶
realpg
2022-08-08 14:38:51 +08:00
感觉是算法问题

要不要画个时间线 IO 图

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/871334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX