现在需要对一个文件频繁的读,没有写,文件大小在 100-500G 左右,有顺序读,有随机读。 现在是读取次数太多陷入 syscall 太多然后导致调度占用时间变多,大佬们这种如何优化。
现在需要对一个文件频繁的读,没有写,文件大小在 100-500G 左右,有顺序读,有随机读。 现在是读取次数太多陷入 syscall 太多然后导致调度占用时间变多,大佬们这种如何优化。
|
JKeitaSep 18, 2021
1
顺序读也就每次加载一段数据到内存,随机的话感觉优化不了。
|
|
MidGapSep 18, 2021
2
可以参考 mmap
|
|
rrfengSep 18, 2021 via Android
3
根据文件内容,拆分后索引起来。
如果文件本身有序那也可以索引 offset |
|
wellscSep 18, 2021
4
文件啥类型的,纯文本?有没有格式?
|
|
ch2Sep 18, 2021
5
直接 mmap
|
|
misaka19000Sep 18, 2021
6
mmap+1 让 OS 帮你调度
|
|
llllIIIIllllSep 18, 2021
7
买 1T 内存
|
|
index90Sep 18, 2021
8
了解一下 golang 的 netpoll,仿造一个?
|
|
CrazyMonkeyVSep 18, 2021
9
长打开这个文件,不关闭就行了
|
|
b00tyhunt3rSep 20, 2021
10
不 close 不就行了吗?
|