https://issues.apache.org/bugzilla/show_bug.cgi?id=54777
Mikhail Epikhin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW --- Comment #11 from Mikhail Epikhin <[email protected]> --- (In reply to comment #9) > Hello Mikhail, > In fact looking at new patch I don't think it improves performances. > > I made some new tests which I hadn't make before and: > 1) I don't have the same improvements as yours, see attached test plan, I > have a 0.4% improvement on number of Samples done in 5 minutes. What do you > graph exactly ? and what is your properties files configuration ? Your test is not for measure performance of PrintWriter. You use sleep on Sampler and thread don't create new SamplerResult objects. Test without sleeps, or sleep ~1ms. I using Jmeter as hit-based load tool whis load >50krps. Last test with Apache Cassandra with single instance of Jmeter gives me about 95krps. And bottleneck is net throughput (1Gbit/s). At this speed standart PrintWriter is too slow. Because every SampleResult on println() call flush(), beacuse many threads of Samplers have high concurreny on PrintWriter. With this patch, at throughput over 30krps i have stable logging csv/xml. Now, i haven't Samplers Thread locks on java.io.PrintWriter.println(). This patch for high-throughput tests, over 30krps. Your test have throughtput less then 1krps. It not your case for improvment > 2) I wonder if the only change to be done should not be to switch off > AutoFlush and nothing more > > Because In fact with AutoFlush false, IO and flush will be controlled by the > BufferedOutputStream over which printWriter is built. Look at tests. Look at profiling and thread dumps. If you really need tests with speed over 30krps, you also needed this patch. -- You are receiving this mail because: You are the assignee for the bug.
