[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Large scale POP3 servers (was: qpopper through TCP wrappers)



[lots of stuff snipped, browse the list if your care]

Actually, this whole conversation got me to thinking
about how a lot of large-scale pop servers (in particular)
are doing it all wrong(?), and about how one can probably
come up with a quick hack job that would scale much better
than traditional pop servers (not only scale better, but will
give better performance on even the most basic hardware).

I'm thinking about a qmail specific scenario (as this is the
MTA I'm most familier with), but I'm sure this applies to
other MTAs as well.

Let's say that lots of domains are hosted on one machine. A traditional
solution for such a situation would be to have a DB of all the users,
either flat, db, or even an RDBMS (probably MySQL or Oracle).

Never mind about how the mail is delivered, how about mail pick-up:
qmail-pop3d (or any pop3 daemon) is running, waiting for connections
(hopefully not out of inetd :). When someone new comes knocking on the
door, it gets the basic data, and forks a new process to deal with him
with the user's id. In the case of virtual domains hosting, it would
probably fork to the ID which is shared by all of accounts, as they
are not real accounts).

In such a case, it's definitly possible to pre-fork all of your servers
as they all use the same uid anyhow - it would probably help a lot.
Try imagining Apache not pre-forking.

Shouldn't be too hard to implement, again, especially as a qmail
specific solution (you have the benefit of modularity).

Of course, I'm still talking about solving just part of the problem,
not rewriting the whole deal from scratch (I'm sure there are many
other bottlenecks that I've never even thought about).

What do you people think?

-- 
/---------------  Omer Efraim, omere@tcmail.tau.ac.il ------------------\
[   Microsoft Vaccine 2000 is configuring your immune system. This may  ]
[ take a few minutes. If your body stops responding for a long time and ]
[ there is no brain activity please die. Setup will continue after you  ]
[                            are reborn.                                ] 
\-----------------------------------------------------------------------/
 - Quoting Buzh, asr

=================================================================
To unsubscribe, send mail to linux-il-request@linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request@linux.org.il