[Ocfs2-users] ocfs2 hangs during webserver usage

Michael Moody michael at gsc.cc
Wed Jan 28 14:14:40 PST 2009


David,

Again, I recommend local storage for the logs. I know I've said it many times, but I've run into these SAME issues, and local was the way to go. For log parsing across nodes, or for tailing them all at the same time, we utilize Capistrano (a ruby-based project), which easily allows me to tail log files across multiple servers (or perform any operations for that matter) all to one window.

Really though, try local storage for your logs.

In regards to the MPM, prefork has benefits, and also severe disadvantages. I'm not certain that the worker MPM buffers the logs, and of course, you'll want multiple worker processes (and threads), but it certainly is an improvement over prefork. However, if you have non-threadsafe modules (just curious, which ones?), as you stated, you may have trouble. This is one of the reasons that where we can, we switched to lighttpd.

In regards to non-threadsafe modules, if you are specifically speaking of handlers (php, ruby, perl, etc), you could simply migrate those to use fastcgi (I recommend mod_fcgid). It's a considerable improvement, and works great with non-threadsafe modules/libraries.

Your best solution however, is still to use local log files. Again, it's easy to test, and if the lags go away, you'll know.

Michael

David Johle djohle at industrialinfo.com <mailto:ocfs2-users%40oss.oracle.com?Subject=Re:%20%5BOcfs2-users%5D%20ocfs2%20hangs%20during%20webserver%20usage&In-Reply-To=%3C200901282147.n0SLlGB9025423%40mix.industrialinfo.com%3E>
Wed Jan 28 13:40:53 PST 2009

Okay, that was easy to test, and fail -- still plenty of lag
situations.  As expected, the results agree with another test I did
which was to shut down one of the two nodes to the point of
unmounting the shared filesystem.

I believe the problem here is that actual chid processes of Apache
locally sharing the logfile is just as bad as sharing across
nodes.  Maybe perhaps that is the root cause of the problem, and the
fact that additional nodes are affected is just consequential.

Michael Moody suggested not using prefork MPM, presumably for this
reason.  I wonder, does the worker MPM "consolidate" all the writes
from the threads within a worker into a single buffered write
stream?  If so, I can see how having 32 threads per worker would not
reduce the amount of writes to the logfile, but could reduce the
amount of contending I/O requests by a factor of 32.  Is this the case?

Way back when we first transitioned to Apache 2.x we looked into
using a better MPM, but had some necessary modules installed that
were not thread-safe, and thus would only work with prefork.  I am
pretty sure this is still a constraint for us at this point.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.oracle.com/pipermail/ocfs2-users/attachments/20090128/716663c3/attachment.html 


More information about the Ocfs2-users mailing list