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 、有什么办法或思路可以解决吗
1
sivacohan 2022-08-08 09:46:34 +08:00
你先禁用虚拟内存试试
|
3
Judoon 2022-08-08 09:58:01 +08:00
dd 是顺序读写的?
你多个进程,是随机的吧? fio 测过么 |
4
VYSE 2022-08-08 10:18:30 +08:00
试试固定内存一半的 /dev/shm
|
5
yinheli 2022-08-08 12:51:20 +08:00
怎么感觉是到了内存带宽瓶颈?可以分别试试 1,2,4 固定多个进程试试,总的带宽是不是比较固定
|
6
yinheli 2022-08-08 13:02:27 +08:00
我用 fio 测试的时候,随着 jobs 数量增加,总体速度是会触顶
|
7
realpg 2022-08-08 14:38:51 +08:00
感觉是算法问题
要不要画个时间线 IO 图 |