Trunk now contains high_perf. Here's the relevant info:

- Run high_perf with the "qpsmtpd" script. By default it goes into multiplex mode. If TCPREMOTEHOST or REMOTE_HOST is set it'll go into inetd/tcpserver mode. If you pass -f it'll go into forking mode (like prefork, but probably not quite as capable as qpsmtpd-forkserver). See the --help stuff for info about maximum number of connections and so on - a lot of the options mirror those in qpsmtpd-forkserver.

- In multiplex mode you can telnet to port 20025 and get status info out of the server.

- Everything should work just as before. The only thing you need to know about is if you're doing something in a plugin that takes a long time this will block your event loop. This isn't tragic, but it should be avoided on high load servers.

To get around the blocking, assuming the blocking is something like a DNS lookup, you need to make use of our event loop. See how dnsbl works for an example of how to do that. I'm not going to go into too much detail here - I'll try and document it soon.

- Please try it, especially qpsmtpd-forkserver users since the forkserver code changed too, and I'd like to know if it still all works OK. I have done some rudimentary testing, but it could certainly use more.

Matt.

Reply via email to