[Gluster-devel] Logging in a multi-brick daemon

Jeff Darcy jdarcy at redhat.com
Thu Feb 16 12:58:01 UTC 2017


> As for file descriptor count/memory usage, I think we should be okay
> as it is not any worse than that in the non-multiplexed approach we
> have today.

I don't think that's true.  Each logging context allocates a certain
amount of memory.  Let's call that X.  With N bricks in separate
processes, our total memory is N*X.  With N bricks in one process, each
using its own logging context, we're still at N*X.  However, with N
bricks in one process sharing a context, we'd be down to X.  Even more
importantly, with separate contexts we'd be touching N pages all the
time, increasing the amount of *physical* memory that is devoted to
logging.

With respect to file descriptors, having N file descriptors *in one
process* is more problematic than having one per process in N processes.
We already have approximately N times as many file descriptors per
process for client connections; adding another N for logging descriptors
isn't going to be helpful when N might be in the hundreds.

These might not be big enough effects to rule out the separate-log
approach, but they're not zero either.  Since reducing memory usage is a
primary goal of multiplexing, I don't think we should lightly forego
opportunities to do so.


More information about the Gluster-devel mailing list