One more report.

I got suspicious of the rather short runtimes, so I picked the
default_doc and ran it at 500k:

bench_R14B04_1.1.1_default_doc.tpl.log     2m19.139s
bench_R14B04_1.2.x_default_doc.tpl.log     2m18.875s

It seems to me that we need more variation in what we test,
more OSs, larger ddocs, like the one Stefan linked to. Can
anyone help providing this?

Cheers
Jan
-- 


On Feb 29, 2012, at 00:23 , Jan Lehnardt wrote:

> For Robert Newson, avoiding bulk inserts to populate the dbs:
> 
> bench_R14B04_1.1.1_default_doc.tpl.log     0m19.692s
> bench_R14B04_1.2.x_default_doc.tpl.log     0m17.033s
> 
> bench_R14B04_1.1.1_nested_6k.tpl.log       1m31.393s
> bench_R14B04_1.2.x_nested_6k.tpl.log       0m42.010s
> 
> bench_R14B04_1.1.1_small_doc.tpl.log       0m8.103s
> bench_R14B04_1.2.x_small_doc.tpl.log       0m10.597s
> 
> bench_R14B04_1.1.1_wow.tpl.log             0m33.944s
> bench_R14B04_1.2.x_wow.tpl.log             0m27.087s
> 
> (Just R14B04, full logs available on demand)
> 
> Cheers
> Jan
> -- 
> 
> 
> On Feb 28, 2012, at 23:09 , Jan Lehnardt wrote:
> 
>> Same story, but spinning disk, 5400rpm:
>> 
>> bench_R14B04_1.1.1_default_doc.tpl.log     0m19.175s
>> bench_R14B04_1.2.x_default_doc.tpl.log     0m16.821s
>> bench_R15B_1.1.1_default_doc.tpl.log       0m13.050s
>> bench_R15B_1.2.x_default_doc.tpl.log       0m13.292s
>> 
>> bench_R14B04_1.1.1_nested_6k.tpl.log       1m26.941s
>> bench_R14B04_1.2.x_nested_6k.tpl.log       0m39.178s
>> bench_R15B_1.1.1_nested_6k.tpl.log         0m47.766s
>> bench_R15B_1.2.x_nested_6k.tpl.log         0m31.697s
>> 
>> bench_R14B04_1.1.1_small_doc.tpl.log       1m19.851s
>> bench_R14B04_1.2.x_small_doc.tpl.log       1m43.057s
>> bench_R15B_1.1.1_small_doc.tpl.log         0m52.249s
>> bench_R15B_1.2.x_small_doc.tpl.log         1m8.195s
>> 
>> bench_R14B04_1.1.1_wow.tpl.log             0m29.589s
>> bench_R14B04_1.2.x_wow.tpl.log             0m24.867s
>> bench_R15B_1.1.1_wow.tpl.log               0m20.171s
>> bench_R15B_1.2.x_wow.tpl.log               0m18.800s
>> 
>> Full logs at http://jan.prima.de/slow_couch/rust/
>> 
>> Cheers
>> Jan
>> -- 
>> 
>> 
>> On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:
>> 
>>> 
>>> # tl;dr:
>>> 
>>> bench_R14B04_1.1.1_default_doc.tpl.log     0m18.749s
>>> bench_R14B04_1.2.x_default_doc.tpl.log     0m16.304s
>>> bench_R15B_1.1.1_default_doc.tpl.log       0m12.946s
>>> bench_R15B_1.2.x_default_doc.tpl.log       0m13.616s
>>> 
>>> bench_R14B04_1.1.1_nested_6k.tpl.log       1m27.267s
>>> bench_R14B04_1.2.x_nested_6k.tpl.log       0m37.910s
>>> bench_R15B_1.1.1_nested_6k.tpl.log         0m46.963s
>>> bench_R15B_1.2.x_nested_6k.tpl.log         0m33.011s
>>> 
>>> bench_R14B04_1.1.1_small_doc.tpl.log       1m17.212s
>>> bench_R14B04_1.2.x_small_doc.tpl.log       1m41.383s
>>> bench_R15B_1.1.1_small_doc.tpl.log         0m52.858s
>>> bench_R15B_1.2.x_small_doc.tpl.log         1m9.043s
>>> 
>>> bench_R14B04_1.1.1_wow.tpl.log             0m29.842s
>>> bench_R14B04_1.2.x_wow.tpl.log             0m24.178s
>>> bench_R15B_1.1.1_wow.tpl.log               0m20.493s
>>> bench_R15B_1.2.x_wow.tpl.log               0m19.584s
>>> 
>>> (Full logs at [5])
>>> 
>>> 
>>> # Description
>>> 
>>> All of these are on Mac OS X 10.7.3 on an SSD.
>>> 
>>> I'll be running the same set on spinning disk and then Robert N asked
>>> me to populate the DBs not using builk docs. Since that's gonna take
>>> a while, I'll probably run this overnight.
>>> 
>>> All of the results are generated by my fork of Jason's slow_couchdb[1]
>>> and Filipe's seatoncouch[2].
>>> 
>>> The changes I've made is have the small_doc test run with 500k instead
>>> of 50k docs, added .view files to match the tpl files in
>>> seatoncouch/templates/* so we can have similar views use the different
>>> doc structures.
>>> 
>>> I also added two scripts to orchestrate the above testing in a more
>>> automated fashion. It also allows you to run the full matrix yourself.
>>> All you need is set up homebrew allow `brew switch erlang R14B04` and
>>> R15B (which is controlled in matrix.sh[3]) and have a git checkout of the
>>> CouchDB sources that allow you to do `git checkout 1.1.1` or `1.2.x`
>>> (which is controlled in runner.sh[4], adjust the path to the git checkout
>>> there as well).
>>> 
>>> matrix.sh also allows you to specify which docs to run.
>>> 
>>> Please shout if you need any more info about this test run or how to
>>> run this yourself.
>>> 
>>> 
>>> # Analysis
>>> 
>>> Inconclusive, I'l like to run this on larger dbs in general to see if
>>> there are more differences that shake out and I've yet have to run this
>>> on a spinning disk let alone another OS* or more complex view functions
>>> or larger design docs (like the one Stefan had).
>>> 
>>> * It shouldn't be too much work to port slow_couchdb to other OSs, I'll
>>> definitely be looking into that, but we can do with every bit of help :)
>>> 
>>> So far, I'm happy to conclude that while there are definitely provable
>>> differences, that we can live with them.
>>> 
>>> Cheers
>>> Jan
>>> -- 
>>> 
>>> 
>>> [1]: https://github.com/janl/slow_couchdb
>>> [2]: https://github.com/janl/seatoncouch
>>> [3]: https://github.com/janl/slow_couchdb/blob/master/matrix.sh
>>> [4]: https://github.com/janl/slow_couchdb/blob/master/runner.sh
>>> [5]: http://jan.prima.de/slow_couch/ssd/
>>> 
>>> 
>>> On Feb 28, 2012, at 18:53 , Filipe David Manana wrote:
>>> 
>>>> Jason, repeated my last test with the 1Kb docs (
>>>> https://gist.github.com/1930804, map function
>>>> http://friendpaste.com/5C99aqXocN6N6H1BAYIigs ) to cover branch 1.1.x
>>>> as well. Here are the full results (also in
>>>> https://gist.github.com/1930807):
>>>> 
>>>> 
>>>> Before COUCHDB-1186
>>>> 
>>>> fdmanana 23:21:05 ~/git/hub/slow_couchdb (master)> docs=500000
>>>> batch=5000 ./bench.sh wow.tpl
>>>> Server: CouchDB/1.2.0a-a68a792-git (Erlang OTP/R14B03)
>>>> {"couchdb":"Welcome","version":"1.2.0a-a68a792-git"}
>>>> 
>>>> [INFO] Created DB named `db1'
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> (....)
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> Building view.
>>>> {"total_rows":500000,"offset":0,"rows":[
>>>> {"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
>>>> ]}
>>>> 
>>>> real       5m6.676s
>>>> user       0m0.009s
>>>> sys        0m0.010s
>>>> 
>>>> 
>>>> After COUCHDB-1186
>>>> 
>>>> fdmanana 23:50:07 ~/git/hub/slow_couchdb (master)> docs=500000
>>>> batch=5000 ./bench.sh wow.tpl
>>>> Server: CouchDB/1.2.0a-f023052-git (Erlang OTP/R14B03)
>>>> {"couchdb":"Welcome","version":"1.2.0a-f023052-git"}
>>>> 
>>>> [INFO] Created DB named `db1'
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> (....)
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> Building view.
>>>> {"total_rows":500000,"offset":0,"rows":[
>>>> {"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
>>>> ]}
>>>> 
>>>> real       5m1.395s
>>>> user       0m0.008s
>>>> sys        0m0.010s
>>>> 
>>>> 
>>>> After COUCHDB-1186 + better queueing patch
>>>> (http://friendpaste.com/178nPFgfyyeGf2vtNRpL0w)
>>>> 
>>>> fdmanana 00:14:25 ~/git/hub/slow_couchdb (master)> docs=500000
>>>> batch=5000 ./bench.sh wow.tpl
>>>> Server: CouchDB/1.2.0a-f023052-git (Erlang OTP/R14B03)
>>>> {"couchdb":"Welcome","version":"1.2.0a-f023052-git"}
>>>> 
>>>> [INFO] Created DB named `db1'
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> (....)
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> Building view.
>>>> {"total_rows":500000,"offset":0,"rows":[
>>>> {"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
>>>> ]}
>>>> 
>>>> real       4m48.175s
>>>> user       0m0.008s
>>>> sys        0m0.009s
>>>> 
>>>> 
>>>> CouchDB branch 1.1.x
>>>> 
>>>> fdmanana 08:16:58 ~/git/hub/slow_couchdb (master)> docs=500000
>>>> batch=5000 ./bench.sh wow.tpl
>>>> Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
>>>> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
>>>> 
>>>> [INFO] Created DB named `db1'
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> (....)
>>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>>> Building view.
>>>> {"total_rows":500000,"offset":0,"rows":[
>>>> {"id":"0001c0a1-edcb-4dbc-aa9d-533c73d980cb","key":["dwarf","assassin"],"value":[{"x":62038.32,"y":105825.29},{"x":90713.13,"y":128570.97},{"x":43836.37,"y":80517.12},{"x":71610.97,"y":143739.99},{"x":86038.39,"y":84731.8}]}
>>>> ]}
>>>> 
>>>> real       5m44.374s
>>>> user       0m0.008s
>>>> sys        0m0.010s
>>>> 
>>>> 
>>>> Disk model APPLE SSD TS128C, quad core machine, 8Gb of ram.
>>>> 
>>>> 
>>>> 
>>>> On Tue, Feb 28, 2012 at 5:17 AM, Jason Smith <j...@apache.org> wrote:
>>>>> Forgive the clean new thread. Hopefully it will not remain so.
>>>>> 
>>>>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>>>>> 
>>>>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>>>>> the test. For example:
>>>>> 
>>>>> docs=500000 ./bench.sh small_doc.tpl
>>>>> 
>>>>> That should run the test and, God willing, upload the results to a
>>>>> couch in the cloud. We should be able to use that information to
>>>>> identify who you are, whether you are on SSD, what Erlang and Couch
>>>>> build, and how fast it ran. Modulo bugs.
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Filipe David Manana,
>>>> 
>>>> "Reasonable men adapt themselves to the world.
>>>> Unreasonable men adapt the world to themselves.
>>>> That's why all progress depends on unreasonable men."
>>> 
>> 
> 

Reply via email to