Take a look at postal or rabid, http://www.coker.com.au/postal/, mail benchmarking tools.

You seem to be thinking that performance is non-issue, because your hardware is able to handle your current load, but remember that on internet everything is spiky, it's enough for one spammer, or few bots to target your server and you're in big trouble with your 16M processes trying to fork fast enough to handle incoming connections...

Having said that, I have succesfully deployed perl-based servers, that were able to handle such situations, the key for pre-forking server is to keep large enough spool of idle threads.

And the best trick is to limit amount of incoming connection at the firewall - say you found through your benchmarks that at 30 requests/second your machine starts melting, just set your firewall to accept SYN packets to port 25 with rate less then 25.

That way under normal circumstances you'll be allright, and during spike/scan or attack you'll still be handling your users.


In reply to Re: SMTP server in perl by Eyck
in thread SMTP server in perl by althepal

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.