Replies: 6 comments 5 replies
-
Anyone have any insight into these tunes? |
Beta Was this translation helpful? Give feedback.
-
Even a link pointer would be appreciated. I cannot find any in depth details on these tunes. |
Beta Was this translation helpful? Give feedback.
-
As the name suggest pass-through the option is useful to disable a xlator at runtime basis. While this option is enabled for specific xlator it means the xlator is disabled functionality wise the xlator will not process any fops even xlator is loaded in volfile. It will work only while a specific xlator has this option in that option table at source code level, currently not every xlator provides this option. For ex , As you mentioned a tuning option recommend set performance.iot-pass-through while enable global-threading. By default |
Beta Was this translation helpful? Give feedback.
-
Thank you so much for your reply! My biggest question right now is, I have global threading disabled, but performance.iot-pass-through enabled. With this setting enabled, my gluster nodes go from 80+% CPU down to 40-50% cpu consumption, but tasks like readdirp on clients take longer. So I'm just trying to understand what this setting does specifically when not using global threading that is freeing up so much CPU, but also slowing down readdirp operations. |
Beta Was this translation helpful? Give feedback.
-
As per current volume configuration i think performance reduction is expected. Currrently performance.iot-pass-through is enabled(it means io-thread is disabled) and global-threading is disabled. It means the brick process wind the fop in event threads. You should enable anyone option either io-thread or global-thread , here in this case both option are disabled. |
Beta Was this translation helpful? Give feedback.
-
I am assuming if you have disabled readdirp at dht/md-cache level so it means you have disabled
|
Beta Was this translation helpful? Give feedback.
-
So, I'm having a difficult time finding documentation on the pass-through tuning options in gluster. running gluster volume set help, and all the descriptions say is "Enable Disable item translator".
So I googled gluster translators, and found a few articles, the most descriptive was this one:
https://glusterdocs-beta.readthedocs.io/en/latest/overview-concepts/translators.html
But it doesn't mention any of the specific tuning options. Another article spoke about writing your own translator, so then I thought perhaps these are like enabling "API" like interfaces into gluster.
However, one tuning option, like global threading, recommends enabling performance.iot-pass-through. So I enabled global threading and this pass through option, and restarted glusterd services.
The global threading was a bust, when I remounted the clients with global threading enabled, they would randomly dismount after a few hours. so I changed the mount back to not use global threading but left performance.iot-pass-through on. To my surprise, the gluster nodes went from 80+% CPU consumption to ~30-50%.
I don't know if this was a side effect of restarting gluster across or if this pass-through option somehow made gluster more efficient. But now I'm curious about all the pass-through options and if they serve any benefit to fuse mounted clients.
Can anyone explain with a bit more detail what these options do?
Thanks in advance.
Beta Was this translation helpful? Give feedback.
All reactions