couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cory Zue <>
Subject Slow filtered _changes feed
Date Wed, 20 Oct 2010 02:44:49 GMT

I'm bringing up a problem I chatted about with a few folks with on IRC
today but was unable to solve.  My app is using the _changes feed to
detect what updates need to go to particular clients (in this case
cell phones) based on some filtered information the phones send up in
the sync request.  The flow looks something like:

Phone ---HTTP POST---> Server
Server ---filtered _changes---> CouchDB
[Server prepares couch results for phone]
Server ---Data Payload---> Phone

All of the above represents a single HTTP POST and response between
the phone and server.

The problem I am seeing is that hitting the _changes feed from the
server is prohibitively slow, and these requests are timing out before
the server can send data back down to the phone.

I was led to believe on IRC that changing my filter from javascript to
erlang would drastically increase performance, but I'm not observing
this at all.  In fact the erlang version seems slightly slower.

I setup an erlang view server following these instructions:

Am I missing something?  Is my erlang so bad as to negate the
increased performance gain from switching over?  Was I lied to?  Is my
whole approach dumb and do I need to implement filtered caching inside
my server and outside of couch?

Any thoughts or feedback would be much appreciated.


View raw message