
kyle-qmail at memoryhole
Jun 20, 2008, 1:42 PM
Post #2 of 6
(641 views)
Permalink
|
On Friday, June 20 at 10:09 PM, quoth Oliver Block: > can anyone tell what's determining the maximum number of qmail-smtpd > processes (incoming messages)? So far? I'm gonna guess divine intervention. ;) > I am using qmail with xinetd and the value for instances is > UNLIMITED there. But I assume that is not the real limit. You *assume*? What makes you think that? Well, with xinetd, if your connections are unlimited, then it will *attempt* to accept every connection it can. You will, however, run out of resources at some point, and how that manifests itself depends on your system and which resource you've run out of first. For example, if you run out of RAM first, that *may* manifest itself as looking like qmail-smtpd crashed, or it may manifest itself as qmail-smtpd failed to load. Or it may manifest itself as an exec() error. Or it may manifest itself within xinetd as a failure to perform some intrinsic task (such as fork() or maybe even something as basic as pipe() will fail). This assumes, of course, that xinetd is behaving itself and is responsibly checking all of these syscalls for errors. If it isn't, then you may get much stranger-looking errors, probably from xinetd, as things it tries to do that relied on previous actions inevitably fail. Or, depending on your OS, you may trigger an OOMKiller, which will cause random processes to suddenly die (including, qmail-send, init, or even xinetd itself). But that's just assuming that RAM is your limiting factor (which would be pretty typical). It's also possible that you'll run out of open file descriptors first (your limit depends on your OS and how its been configured). Or, you may run out of PIDs (your limit depends on your OS). Or you might run out of connection entries in your OS's TCP stack. And how those things manifest themselves, and which one bites you first, depends entirely on your system, your hardware, xinetd, and how they interact. For example, I'm assuming that xinetd and your OS are bugless under load; they probably aren't. But, let's be honest, you've asked a pretty open-ended question here. What are you trying to find out, *really*? ~Kyle -- I have an existential map; it has 'you are here' written all over it. -- Steven Wright
|