-
Notifications
You must be signed in to change notification settings - Fork 60
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
performance issue on openshift #357
Comments
Thanks for raising this. I've examined our procedures and we change read_ahead_kb for Nimble devices but we set it to 128KB, not 32MB. I can't find any other traces of read_ahead_kb being touched. |
thanks. that is weird then When we were on ocp 4.10 / csi operator 2.2 read_ahead_kb was at 128K Since the upgrade of csi driver to 2.3 and ocp to 4.12 , read_ahead_kb has been changed to 32M cat /sys/class/block/dm-*/queue/read_ahead_kb32768 We try manually changing the value for a Persistent volume : echo 4096 > /sys/block/dm-27/queue/read_ahead_kb then empty the cache : But when we restart the pod, the value is overwritten and comes back to 32M For info we are using hpe 3par as storage . Worker nodes are on Synergy. All local disks are at default redhat value of 4096K. cat /sys/class/block/sda/queue/read_ahead_kb4096 We have other servers in the same synergy with rhel7 and virtual machines on vmware with rhel7 and rhel8 with vlumes on same storage . it is @ 4096K as well From your point of view, if csi driver is not setting this, is it on K8s, redhat kernel, storage or server level ? sc : parameters: csi specs : multipath.conf : |
It could be some udev rule that sets it. Have you grep'd around in |
Infact ,I have grep in /etc , but nowhere to be found |
1 similar comment
Infact ,I have grep in /etc , but nowhere to be found |
What does Red Hat have to say about the matter? Are they pointing at the CSI driver? |
This is what I'm seeing on OCP 4.13 with HPE CSI Driver v2.4.0-beta:
I am using Nimble in this particular case though where we set it to 128. |
This is what appears on a Primera, same OCP and CSI driver etc.
|
I've determined we can't do anything from the CSI driver perspective. Custom udev rules needs to be created for 3PAR devices on the worker nodes. Create the below file at
|
Thank you Michael for your help. What we are still not sure is whether this fix will work when a pod will be restarted or scheduled to run on another worker node. We will test this and update you |
I think the udev rule needs to be injected and enabled by a Edit: The udev rule will be injected on all worker nodes and udev will intercept all 3PAR devices. Pod restarts won't affect the effective values set by udev. |
redhat default value for read_ahead_kb is 64KB
for all persistent volumes using csi driver we see that value is 32Mb
and this is causing degraded io on our applications on ocp cluster.
is this defined somewhere? why is redhat default value overwritten
We are using 2.3.0 operator on redhat openshift
The text was updated successfully, but these errors were encountered: