procmail
[Top] [All Lists]

Procmail too slow when processing large mail

1997-01-19 20:50:36

NOTE: please reply to matta(_at_)geoworks(_dot_)com as well as the list -- I do
not know if I've been added yet.

I just began sending myself (from one site to another) fairly large
files through e-mail.  Because the destination site has a firewall, I
can't just ftp or rcp the files over.

My scheme is working, bug procmail is, I think, unacceptably slow for
some reason.  I have a script on the source machine that uuencodes the
file and mails it to the destination site with the subject "FILE".
Then I have this procmail rule that uudecodes the file upon arrival:

# Process file mail
:0 Wbrf: uudecode.lock
* ^Subject: FILE:
* ^From: armstron(_at_)cs(_dot_)ucdavis(_dot_)edu
| (cd $MAILDIR/Files && uudecode)

This rule works, but my files average 150K, and procmail is taking
more than 5 minutes PER FILE to process.  The time is not spend
actually decoding the file ("ps -xau | grep uudecode" rarely shows
uudecode running).

Is there any reason for this inefficiency?

I do not run procmail from a .forward.  I copied the script out of the
FAQ (somewhere) that copies my spool to ~/.newmail and does this:

formail -s procmail < .newmail 2> /dev/null && rm -f .newmail

I had to increase the lock file timeouts in that script -- the formail
line about is now taking more than an hour to process a 5 meg file
consisting of roughly 20 messages.  My entire (now simplified)
.procmailrc follows.

The file mail is not reaching the backup rules.  Every permutation I
have tried (changing the flags to every permutation I thought might
make sense, changing the action line to be a shell script that does
the same thing) hasn't had an effect on the slowness.

------------------------------------------------------
# Set on when debugging, off when not
VERBOSE=on

#Replace 'mail' with your mail directory
MAILDIR=/n/lk/matta/mail

#Directory for storing procmail log and rc files
PMDIR=/n/lk/matta/.procmail

LOGFILE=$PMDIR/log
LOG="--------------------------------------
"

# Process file mail
:0 Wbrf: uudecode.lock
* ^Subject: FILE:
* ^From: armstron(_at_)cs(_dot_)ucdavis(_dot_)edu
| (cd $MAILDIR/Files && uudecode)

# Default place for new mail, if nothing below matches
DEFAULT = delayed.hourly

:0 c
backup

:0 ic
| cd backup && rm -f dummy `ls -t msg.* | sed -e 1,32d`

------------------------------------------------------




-- 
Matt

<Prev in Thread] Current Thread [Next in Thread>
  • Procmail too slow when processing large mail, Matt Armstrong <=