It just seems that one thing leads to another...I was looking through my Receiver implementation and decided to run some ad-hoc performance tests. I configured 3 processes on my machine: 1 with a SocketReceiver (matches SocketAppender), 2 with SocketAppenders. The SocketAppenders both connected to the SocketReceiver, and all processes also had ConsoleAppender configured.
I had the SocketAppender processes run simultaneously for 20 seconds. The SocketReceiver processed all of the logging events sent across the SocketAppender/SocketReceiver connection. I tried various permutations in the implementation (buffered streams input and output, a event queue in the receiver, etc). The best performance I ever tracked (mind you, this was ad-hoc) ~220 events/second for each SocketAppender process. This means that with both processes running, the SocketReceiver was processing about ~440 events/second. I know that there are a lot of variables that will affect this performance, and I don't have anything to compare this to. Does this perfomance compare to other people's experience sending logging events across sockets? Do we have some code we use as a benchmark/test? We should. And looking at this performance stuff leads me to the previous discussion about optimizing the serialization of the LoggingEvent object...I think the most gains will be made with that work. -Mark -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>