Hi, On 8 Dec 2010, at 19:24, Filipe David Manana wrote:
> Huw, > > Today trunk was patched to increase both read and write performance > when there are several requests in parallel to the same database/view > index file. Great news :) > > The corresponding ticket is https://issues.apache.org/jira/browse/COUCHDB-980 > > Would be much appreciated if you could try the latest trunk and report back :) WOW - I built from svn rev 1043651 (again with Erlang R14B) this morning and have just performed the same jmeter tests with some good results. I am still seeing the same throughput score from jmeter, ~500 requests/s but what is interesting is that I can now drive up the threadpool count in jmeter from 25 (the value I had for my last round of testing) up to 750 with no errors - just increased request latency (which is to be expected). Processor utilisation also looks more like I would expect: 09:16:43 AM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 09:16:48 AM all 19.82 0.00 9.19 0.00 0.04 0.25 0.00 70.70 6136.20 09:16:48 AM 0 43.80 0.00 5.00 0.00 0.00 0.00 0.00 51.20 1000.20 09:16:48 AM 1 38.40 0.00 21.00 0.00 0.00 0.40 0.00 40.20 460.80 09:16:48 AM 2 44.49 0.00 14.43 0.00 0.00 0.00 0.00 41.08 8.80 09:16:48 AM 3 36.87 0.00 24.05 0.00 0.00 0.40 0.00 38.68 449.80 09:16:48 AM 4 45.29 0.00 11.42 0.00 0.00 0.00 0.00 43.29 0.00 09:16:48 AM 5 40.68 0.00 24.65 0.00 0.00 0.00 0.00 34.67 1.60 09:16:48 AM 6 47.20 0.00 14.40 0.00 0.00 0.00 0.00 38.40 0.00 09:16:48 AM 7 13.00 0.00 10.40 0.00 0.00 0.00 0.00 76.60 0.00 09:16:48 AM 8 5.01 0.00 10.82 0.00 0.00 0.00 0.00 84.17 0.00 09:16:48 AM 9 0.00 0.00 0.00 0.00 0.00 0.40 0.00 99.60 455.40 09:16:48 AM 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 09:16:48 AM 11 0.00 0.00 0.00 0.00 0.20 0.40 0.00 99.40 482.60 09:16:48 AM 12 2.00 0.00 8.58 0.00 0.00 0.00 0.00 89.42 10.40 09:16:48 AM 13 0.00 0.00 0.00 0.00 0.00 0.40 0.00 99.60 488.80 09:16:48 AM 14 0.20 0.00 1.40 0.00 0.00 0.40 0.00 98.00 447.20 09:16:48 AM 15 0.60 0.00 0.80 0.00 0.20 1.20 0.00 97.20 2330.60 The box has HyperThreading enabled but the spread of load over cores looks a lot more like what I would expect to see. I retried this same test against 1.0.1 with a threadpool count of 750 and it manages ~126 requests/s with a high error % (again, to be expected), Am yet to retry against the 1.1.x branch build I was using as it was on the same box the rev 1043651 build it on. I have also experimented with increasing the threadpool count against the rev 1043651 build and I can go upto 950 threads with no errors (throughput drops a little at that point). This is with a default couch configuration (only change is delayed_commits=false). Also, I noticed your relaximation tool (which looks pretty awesome btw) from reading COUCHDB-980 so if I get some time I might give that a run on this hardware and see what pretty graphs it can generate :) So to summarise: All in all a massive performance win! Many thanks to both Adam and Filipe for all your help and advice. It's really nice to see such that couch has such a vibrant community and I hope to be able to contribute more in the future. Regards Huw
