gpt4 book ai didi

c++ - 带有 rtkaio 的 linux 上的 aio_write 有时很长

转载 作者:太空狗 更新时间:2023-10-29 23:10:15 26 4
gpt4 key购买 nike

我在带有 rtkaio 库的 linux 上使用异步 io。在我的测试中,一切都完美无缺,但是,在我的实际应用程序中,我发现应该返回得非常快的 aio_write 却非常慢。将 128KB 写入 O_DIRECT 填充文件可能需要 100 多英里。我的测试和应用程序都使用相同的 I/O 大小,我检查相同的文件系统 (GFS)。

我添加了计数,我发现大约有 50% 的异步 io 操作是短的(短于 2 英里),50% 的是长的(长于 2 英里)。

我还检查了测试和应用程序都使用相同的 rtkaio 库。

我很迷茫,有人知道我应该去哪里看吗?

我的另一个相关问题:/proc/sys/fs/aio-nr is never higher than 1024 (AIO on linux)

最佳答案

我并不是要气馁,但我怀疑你会得到这个问题的非常有用的答案,因为这里有太多变量(集群文件系统、异步 I/O、O_DIRECT 等),除非有人特别熟悉您的设置,否则任何人能做的最好的事情就是给您模糊的建议。

我想您应该首先尝试确定是实际写入速度慢,还是异步回调处理程序的调用耗时长。您可以尝试用常规同步写入调用替换对 aio_write 的调用。此外,您提到的写入大小似乎很小,那么您为什么要使用 O_DIRECT?如果有很多小写入,我认为 O_DIRECT 会降低这里的性能。

关于c++ - 带有 rtkaio 的 linux 上的 aio_write 有时很长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1763712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com