Re: Dada Speeding Up: FastCGI versus mod_perl etc.

 
From: "Mariano Absatz - gmail" <el.baby@PROTECTED>
Date: July 28th 2011
Hi Alex,

sorry for the late reply. 10K message/hour seems quite performant to me (but then, I'm on a cheap host).

I don't have experience optimizing dada, but maybe I can help with a few things:

On Sat, Jun 18, 2011 at 15:34, <alex@PROTECTED> wrote:

Hi everyone

We're about to embark on some server tuning to try and improve our current 10,000 message per hour rate, and wondered if anyone else had tried some optimisations before we start?

What we are thinking is:

1. Speed test FastCGI against mod_perl with Apache

2. Speed test Apache versus Lighttpd versus NGinx with FastCGI

I dont' think FastCGI will be faster than mod_perl in Apache, but maybe Lighttpd is.

 

3. Optimise Exim (email transport) by placing message queue into RAM and turning off/minimising logging
Optimizations in the MTA will likely help, however, placing the message queue un a RAM disk gives me the thrills... if the server shuts down or reboots you'll loose the queued messages. Maybe you can optimize the queue filesystem by mounting it with noatime and nodiratime options. You can also test different filesystems (e.g. ext3/4 vs. ReiserFS/Reiser4). If you have things running normally, you should definitively diminish logging the most you can.
 

4. Compare speeds of Exim versus other MTAs such as Courier etc.
You can definitvely check different mailers I have experience with Postfix, qmail, Courier (not much) and ZMailer. ZMailer is really hard to configure, but it's awfully fast processing gazillions of messages and it has the most configurable outgoing queue system I've ever seen.
 

5. Increase Dada batch sizes to reduce log writes and logrotate dada.log every day to speed up access
This will surely help. I increased batch sizes and got better performance (but I'm using SMTP, not sendmail).

Regarding log rotation, I do it inside dada. In the configuration file, replace the line that says:
$PROGRAM_USAGE_LOG        = $LOGS . '/dada.txt';
with these:
use POSIX;
my $YMD = POSIX::strftime("%Y-%m-%d", localtime);
$PROGRAM_USAGE_LOG        = $LOGS . '/usage.' . $YMD . '.log';
Well, actually, if mail.cgi is running a batch at midnight, that whole batch will be logged in the logfile corresponding to the day the batch started, but the next one will go to the new logfile.


 

Phew!

Not a complete list but would be interested to hear experiences if anyone else has any :-)

(We've just been tuning the heck out of Magento on the Zend Framework so have a few tips and tricks from that!)

Alex
Sent with Skywire Instant Email
------------------

--
Mariano Absatz - El Baby
www.clueless.com.ar


Post:
mailto:[list_settings.discussion_pop_email]

Unsubscribe:
https://dadamailproject.com/cgi-bin/dada/mail.cgi/u/dadadev/

List Information:
[PROGRAM_URL]/list/[list_settings.list]

Archive:
[PROGRAM_URL]/archive/[list_settings.list]

Developer Info:
http://dev.dadamailproject.com

  • This mailing list is a public mailing list - anyone may join or leave, at any time.
  • This mailing list is a group discussion list (unmoderated)
  • Start a new thread, email: dadadev@dadamailproject.com

This is the developer discussion mailing list for Dada Mail.

If you are just looking for support Dada Mail, consult the message boards at:

https://forum.dadamailproject.com

Documentation for Dada Mail:

https://dadamailproject.com/d

Specifically, see the Error FAQ:

https://dadamailproject.com/d/FAQ-errors.pod.html

To post to this list, send a message to:

mailto:dadadev@dadamailproject.com

All subscribers of this list may post to the list itself.

Topics that are welcome:

  • Constructive critiques on the program (I like, "x", but, "y" needs some work - here's an idea on how to make this better...)
  • Bug/Error reports
  • Bug fixes
  • Request For Comments on any changes to the program
  • Help customizing Dada Mail for your own needs
  • Patches
  • Language Translations
  • Support Documentation/Doc editing, FAQ's, etc.
  • Discussion of any changes that you would like to be committed to the next version of Dada Mail -

Dada Mail is on Github:

https://github.com/justingit/dada-mail/

If you would like to fork, branch, send over PRs, open up issues, etc.

Privacy Policy:

This Privacy Policy is for this mailing list, and this mailing list only.

Email addresses collection through this mailing list are used explicitly to work within this email discussion list.

We only collect email addresses through our Closed-Loop Opt-In system.

We don't use your email address for any other purpose.

We won't be sharing your email address with any other entity.

Unsubscription can be done at any time. Please contact us at: justin@dadamailproject.com for any help regarding your subscription, including removal from the mailing list.

All mailing list messages sent from us will include a subscription removal link, which will allow you to remove yourself from this mailing list automatically, and permanently.

All consent to use your email address for any other purpose stated at the time of the mailing list subscription will also be revoked upon mailing list removal.