At 03:35 PM 1/31/99 -0500, David Villeger wrote:
>Hello.
>
>I'd love some suggestions, advice, comments,...
>
>First:
>
>- I am not a spammer. The email I send are _not_ unsolicited.
>- I do send several millions emails a month. I want to send 20,000 unique
>emails per hour per machine. Each email is unique but program generated
>(e.g. personalized news update).
>- I use Solaris 2.6 on mono processor PCI-based Sun machines, 128 megs of
>ram, lots of disk space, as much network bandwidth as I need.
>
>My questions:
>
>- event though the concurrencyremote is set to 120, the number of
>qmail-remote never gets higher than 40. If some other program runs at the
>same time (like a bouncer handler, or a mail generator), the number of
>qmail-remote drops to 5! What should I increase to bump it up? (memory,
>cpu,...)?

That it never gets higher than 40 is one thing, that it drops precipitously 
low is another.

The former may be because of process limits inherited by qmail-rspawn at 
startup. If so (and your mail logs will give a hint) then put this in your 
qmail start-up script you may want to put:

        ulimit -n 256

>
>- The todo and intd directories get very big under high load. On one
>machine, I've seen it reach 1.5 megs (just the directory file, not the
>content of the directory). How does this impact performance?

A lot. And deterimentally so. I'm guessing that your inject rate is 
exceeding the ability of qmail-send to process the todo queue.

If these todo files are all your outbounds, I suggest that you put a delay 
in your program after each 'n' injects. Say, inject 40 mails, then wait 10 
seconds.

Having said that, at 20K per hour I'd be having a close look at your system 
performance figures to see how your resources are going. How do you 
interpret the results from iostat and vmstat?

>- What is the cost of forking a qmail-inject for each email sent? What
>would I gain by opening a qmqp connection to another machine and
>continuously feed it with emails to send? Is this possible, or easy?

You won't gain anything if the target qmqpd is a sole machine with the same 
performance as qmqpc/qmqpd simple creates a network pipe to a remote 
qmail-queue. If you spread this across multiple systems, well, that's a 
different story.

>- What would I gain (in terms of performance) by getting rid of fsync in
>qmail-send? What would I lose in practice (not in theory)? These machines
>practically never crash.
>
>- Is there any code modification that would significantly speed up qmail,
>even at the cost of less reliability (to a reasonable extent)?

I'd be looking to see where your system is bottle-necked before assuming too 
much about which strategies will make it run better.

>Well, that's all I can think of for now. Thanks for reading!

It'll be interesting to hear what you make of your performance analysis of 
those systems.


Regards.

Reply via email to