On Wed, Jul 1, 2009 at 12:26 AM, Scott Shumaker<[email protected]> wrote: > Some of our views are invoked with stale=ok - but most of them can't > afford to be - if a user takes an action, typically they need to see > the results of that action if they continue on the site. > > We're using CouchDB as our main persistent storage underlying our > entire site - which has data that is pretty darn complex. We have > very little back-end code - we do almost everything in run-time on the > client in Javascript - loading in complex object hierarchies and > resolving cross-object pointers. So we use views very heavily, > because typically you're loading a lot of different objects at once. > > We are using the view filter patch, which helped a tiny bit - but our > data set isn't even that large yet (40k objects, admittedly many are > several K in size, or more) and the performance isn't great. So I'm > definitely very concerned. If we had the time to learn Erlang and the > CouchDB codebase, maybe we'd muck around to try to find optimizations. > In lieu of that, we have to keep our fingers crossed for some > speedups, or failing that abandon CouchDB entirely in the next few > months. :( >
The slow performance you describe seems out of the ordinary. Perhaps you would benefit from upgrading Erlang or CouchDB? Is there any chance you are writing reduces which build up large data structures? How many views do you have and in how many design documents are they stored? Chris > Scott > > > On Tue, Jun 30, 2009 at 11:52 AM, Peter Hsu<[email protected]> wrote: >> Scott - I don't know the details of your application. What we tend to do >> with our couch-backed app is rely on stale=ok for user-facing views. We >> then run a cron to update the view so that users will never get really stale >> data. This is acceptable for our application, and may be for yours? >> >> +1 on view performance >> +1 on erlang view server >> +1 on consolidating multiple views > -- Chris Anderson http://jchrisa.net http://couch.io
