Re: Linux relatime and MQ performance
I did some tests with some programs that PUT/GET a large amount of messages with /opt and /var being relatime and strictatime (where atime is always updated), and I can't see any noticeable difference in the wall times. Looking at an strace, it probably has to do with the fact that MQ was only doing a handful of read system calls during the tests. I tried having most of the messages spill to a queue file (over 100M worth) to force MQ to do more i/o, but still there were hardly any read system calls when MQ went to get the messages from the queue file.
Anyway, the relatime it is still worth noting and being aware of. If your Linux server gets heavily i/o bound, then relatime would help for sure.
Thanks,
Tim
From: Tim Zielke
Sent: Tuesday, May 21, 2013 1:06 PM
To: MQSeries List
Subject: RE: Linux relatime and MQ performance
Hi Musthafa,
I don't have any personal information, but I would think it would be noticeable. Here was one of the quotes on the performance improvements of relatime from one of the Linux kernel developers (Ingo Molnar):
"I cannot over-emphasize how much of a deal it is in practice. Atime updates are by far the biggest IO performance deficiency that Linux has today. Getting rid of atime updates would give us more everyday Linux performance than all the pagecache speedups of the past 10 years, _combined_."
I am curious as well, so I will look into it and get back to you. I have an MQ sandbox Linux environment where I can have the Linux administrators change the MQ filesystem mounts between strictatime and relatime, and then I can get some MQ performance numbers to compare.
Thanks,
Tim
From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+2wyY2g16FtwPuJ0ROkVbw@public.gmane.org]
On Behalf Of Pasha, Mir Musthafa Ali - Contractor {BIS}
Sent: Tuesday, May 21, 2013 12:25 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+2wyY2g16FtwPuJ0ROkVbw@public.gmane.org
Subject: Re: Linux relatime and MQ performance
Hello Tim,
Thanks for the info. Have you personally seen/witnessed any performance degradation on versions older than 2.6.30 or any significant performance improvements/learnings with versions 2.6.32 and above?
Appreciate any info you can share. Thanks again.
Sincerely,
Mir
MQ Admin | PepsiCo, Inc. | BIS
From: Tim Zielke [mailto:tim.zielke-RzW+Fo++N01WAm4muGplmA@public.gmane.org]
Sent: Monday, May 20, 2013 9:59 AM
Subject: Linux relatime and MQ performance
I think this information I am sharing about Linux relatime is about 5 years old and some of you are probably already aware of it, but just wanted to pass it on in case you were not and run MQ on Linux.
This has to do with the Unix/Linux file attribute of atime. As a reminder, a Unix/Linux file has 3 time attributes called atime (access time), ctime (change time), and mtime (modify time). Access time is the last time a read or write happened against the file (or used to be for Linux, I'll get to that later), change time is the last time file attributes like permissions were changed, and modify time was the last time the file contents were changed. These 3 values are stored in the inode of the file which is a structure stored on the file system and potentially a copy in-memory, as well.
What the Linux kernel programmers realized a while ago is that atime is a significant performance issue. This is because anytime a file does a read or write (even if the read was against a file cached in memory) an i/o write has to occur to update the atime for the inode structure on the filesystem. So they eventually came up with a new default called relatime (relative atime). relatime changes the atime behavior so it is only updated when it is older than the ctime or mtime, or I think also if it hasn't been updated in the past 24 hours. I believe it is the default for Linux since around the 2.6.30 kernel. I have verified that our 2.6.32 Linux SUSE kernels are using relatime, and are older Red Hat Linux kernels which are at 2.6.18 are not. Of course, this means that Linux has completely changed the default historical definition of atime, but they did it to provide some significant Linux performance improvements.
I couldn't find any mention of relatime in the MQ manuals or with a google search of MQ and relatime, so I thought I would mention it. If you are an MQ administrator and your Linux kernels are older than 2.6.30, you may want to consider upgrading to a later kernel as you will get some MQ performance improvement from this Linux default relatime change.
Thanks,
Tim Zielke
CICS/MQ Systems Programmer
Aon Hewitt.
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
).
RSS Feed