Caldarale, Charles R wrote:
From: Brian Braun [mailto:brianbr...@gmail.com] Subject: Re: [OT] Best way to log requests from a servlet and to a database?

However, if I get significantly more requests, this may not be enough
because MySQL will get slower and the queue will get full. I think I could
start using this queue, and if it gets full I could failover to Amazons
Queue service. What do you think?

I think it would be cheaper for you to just spool the excess logging objects to 
your own local disk if the in-memory queue reaches some predetermined limit.  
However, if your DB server really can't keep up, you'll need some strategy to 
just discard log entries or reject requests until it can, even if you overflow 
to local disk.


Not being myself a Java specialist, and given the expressed requirements and transactions volume, my instinctive reaction would be to just write the log entries as some kind of text line into a local disk file, and then process that disk file with a totally separate program, to create the required log entries in the back-end database. The idea is to make the action of writing the log entries as fast, simple and lightweight as possible for the real-time process (the webapp), and leave the brunt of the work to a separate process which can run at a more leisurely pace, deal with access contention to the back-end db, only run at specified intervals and times etc. The local disk file can be "rotated" regularly, to prevent each file instance from becoming too large, and the process which reads the files could only process the rotated ones (to avoid contention with the webapp on the current logfile). Such a design would provide a kind of buffering automatically, with a predictable time and memory overhead for the webapp writing each log entry to the local logfile. Considering the disk capacities available nowadays, I believe that it would be quite unlikely that one would ever reach the point where the logfiles volume would get too large to fit.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to