-
Notifications
You must be signed in to change notification settings - Fork 971
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V1.1.2 has slower write performance compared to v1.0.2 #5321
Comments
@SandyXSD 有空帮忙看看, 这两个改动是否能去掉, 目前性能下降很严重。 |
@lidaohang access前已经获取attr, 影响不大. |
我看Write 函数里面也多了一次调用 tx.set(m.chunkKey(inode, indx), val), 这个多了一次rpc 开销。 @jiefenghuang |
没有增加, 这个是需要的, 原先也有append, 一次元数据插入. |
这个怎么优化呢? 是直接去掉吗,我这边测试pending了,急需优化这块。 |
mknod的set可以直接去除, 其他获取dirStatKey的地方做一下兼容, 如果value == nil, 返回空的dirStatKey结构 |
感谢, 😭,我改改。看了下就这一个地方, 帮忙review下。
|
如果没有用到quota和目录统计功能, 直接去除也不影响, 其他地方不需要兼容. |
目前我们没使用quota和目录统计功能, 我直接在mknod 里面直接去掉如果的逻辑, 不用改其他地方的吧, 会自动兼容吗?会不会存在多查询的开销呢?
|
不会. |
影响因素很多, 直接看juicefs的日志输出吧 |
在v1.0.2 和 v1.1.2 进行对比,发现多了一层Access开销。
m.Access(ctx, parent, MODE_MASK_W, &pattr)
在v1.0.2 和 v1.1.2 进行对比,发现多了目录统计的开销。
if _type == TypeDirectory { tx.set(m.dirStatKey(ino), m.packDirStat(&dirStat{})) }
The text was updated successfully, but these errors were encountered: