long writes
Brian Stark
bstark at convera.com
Tue Jan 18 19:39:04 UTC 2005
-----Original Message-----
From: fedora-list-bounces at redhat.com
[mailto:fedora-list-bounces at redhat.com]On Behalf Of Matthew Miller
Sent: Tuesday, January 18, 2005 9:52 AM
To: For users of Fedora Core releases
Subject: Re: long writes
On Tue, Jan 18, 2005 at 09:44:09AM -0800, Brian Stark wrote:
> I'm not sure if this is the proper forum, but it seems like a good place
> to start. I am maintaining a linux cluster of servers (to date around
> 350). They have a partition configured as a RAID, the average performance
> on these servers is very good , but occasionally I will see a server go
> away for 30-40 seconds. After researching it in the code I found that the
> culprit was a "write" function call. When the call eventually completes,
> but I am writing under 100K of data so I have no idea why it would take
> that long to complete. Has anyone else seen this type of behavior? If not
Which IO scheduler are you using?
--
Matthew Miller mattdm at mattdm.org <http://www.mattdm.org/>
Boston University Linux ------> <http://linux.bu.edu/>
Thanks for the reply, We are configured to use the deadline IO scheduling algorithm, we made this decision after finding a similar issue on the read side. Even with deadline our worst case on the write seems to be much worse then the read side, an outrageous 30-40 seconds. Our servers may be under a significant load both in memory usage and CPU, what I am mostly interested in is an explanation. If its something we have to live with we will work around it, but if we are doing something stupid I would rather fix it. below is the code snippet we use to open the file:
oflags = O_NDELAY;
oflags |= O_WRONLY; /* only writing is permitted */
oflags |= O_CREAT; /* create the file if it doesn't exist */
oflags |= O_TRUNC; /* truncate the file if it does exist */
oflags |= O_NONBLOCK; /* do not block on reads and writes this will
provide us with asynchronous behavior*/
fd = open(fn, oflags, 0666);
The only thing that strikes me are the O_NDELAY and O_NONBLOCK flags. I understand (now) that writes to disk will block despite these flags, but will their usage also cause any odd behavior, or am I grasping at straws.
Brian
--
fedora-list mailing list
fedora-list at redhat.com
To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
More information about the users
mailing list