From: Brent B. <bb...@pe...> - 2002-02-26 22:17:25
|
In my never-ending struggle to speed up the filters plugin (especially the SPAM filters since they're the slowest right now), I came up with another idea. But before I inflict it on the CVS tree, I wanted to get someone with more users (especially more concurrent users) than I have to try out my latest idea. What I did was take the DNS Cache, which is a session variable in the CVS version, and make it shared amongst all squirrelmail users by saving it to a file. I'm doing very simple file locking to prevent multiple users from saving their cache simultaneously. This cache also has a default time to live associated with each entry in the cache. This makes it so when one user logs in and checks for mail, any DNS queries that are done doing SPAM checking for their email is saved so any other user who checks for mail can benefit by not having to also do those same DNS queries (at least not until the cache entry's time to live value has expired). At the moment, running on my systems here, it's never taken more than 0 seconds to load or save the cache, but I'd like to see it run on a busier system with more concurrent users before I inflict it on the codebase. Also, now that I see SM 1.2.5 has support for mysql databases for things like user preferences (cool!) if this shared DNS cache idea works out well as I think it will, I could make it smart enough to use a mysql DB to save the cache to instead of just a flat file (which is what I'm usin' right now). If you're willing to try this new version out please reply to me directly instead of the list... Thanks in advance... Brent bb...@pe... ----------------------------------------- Persistence Software Inc. 1720 South Amphlett Blvd. Third Floor San Mateo, CA 94402 |