devdaily home | java | perl | unix | directory | weblog

up previous next
Next: Application architecture Up: Performance Tuning with Optimizeit Previous: Introduction

A quick introduction to the application

The devdaily.com Email Agent is a software application written in Java to meet the following needs:

  1. Spam filtering. It deletes spam from a user's mailbox using a variety of spam-filtering rules.
  2. Forwarding of desirable email messages to a pager. A user can control which email messages should be forwarded from their inbox to their pager.
  3. Mail server-independence. The Email Agent works with any email server that supports the POP-3 or IMAP standards.
  4. Platform-independence. The Email Agent can run on any computer platform that supports Java, making it very flexible to install. 

Because the Email Agent does not sit in the stream of incoming email like other anti-spam applications, and because I receive over 1,000 spam messages per day, it is necessary for it to run every five minutes or so to clean out my mailbox before I have to see all the spam sitting there. It's also nice to have it run frequently when I'm waiting on an email message from another person. With a quick change to a configuration file my program can forward the email message to my pager, and I have the information I was within five minutes of the time the other person sent it.

In its first implementation, the Email Agent was extremely successful in deleting spam and forwarding messages, but took several minutes to run against a mailbox that contained about 4,000 email messages. If I was going to run it every five minutes, and it was easily taking two or three minutes each run, as a single user I was probably putting a great strain on our mail server, and my solution wasn't going to scale well to handle other users. I definitely needed to do what I could to dramatically reduce this run time.



Subsections
up previous next
Next: Application architecture Up: Performance Tuning with Optimizeit Previous: Introduction