Remy Maucherat wrote:
[EMAIL PROTECTED] wrote:

jfarcand    2004/11/19 08:46:27

Modified: catalina/src/conf server.xml
catalina/src/share/org/apache/catalina/valves
mbeans-descriptors.xml
Added: catalina/src/share/org/apache/catalina/valves
ByteBufferAccessLogValve.java
Log:
Add an asynchronous byte buffer based access log valve. The valve use a direct byte buffer to store and save the log. I didn't use the backgroundProcess since it's affect all components, but this should be revisited.
Benchmarking this valve using jservlet (scalabilty) and trade2 (throughput) demonstrated a 13% improvement over the current access log valves. Increasing the writerInterval improve performance too.
Note: I've tried to use a direct CharBuffer instead of a StringBuffer, and its slower that the current approach (and the log contains garbage, thank to a bug in NIO).


I disagree with this. The idea is that there is already an fast access logger. How about improving that one instead ?

Yes, I can do that. Mine was first "experimental", then based on the result I've got, I decided to act like Costin (commit experimental stuff :-) :-))


It is also not acceptable
to use a background thread for this sole purpose (backgroundProcess is not server global - by default, it is, but that's all you can say about it).

Fine. It's easy to remove it.


BTW, there's no way you get +13% over the fast access logger, since it has about 6% overhead on a static file test (compared with 25-30% for the normal one) ;)

Well, it approx. 20% without valve. Note that all benchmarks uses two machines, and both use 250 users and dynamics pages.


-- Jeanfrancois



Rémy


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to