couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew Sinclair-Day <>
Subject Re: Erlang views
Date Fri, 21 Jan 2011 18:17:17 GMT
On 1/18/11 at 7:20 PM, (kowsik) wrote:

>A couple of questions:
>1. Is anyone using erlang views (as opposed to Javascript) in a
>production environment?
>2. For the map and filter functions, is there any kind of published
>performance numbers that show the speed up?
>Yes, I'm aware of the built-in reduce functions and I'm using them
>extensively. I'm more interested in erlang filters + map functions for
>a write-heavy app that I'm working on.

We moved over to erlang views and filters a few months ago in a 
multi-master replicated system.  The performance gains were 
quite good and overall CPU load was lower, though I don't have 
numbers available at hand.

For what it's worth: another motivation for the switchover were 
problems with the management of the couchjs processes that are 
spawned by couch to invoke the spider monkey javascript engine.

Under some loads and data access patterns using filtered change 
listeners, we could repeatably drive couch to "meltdown" as 
processes piled up when change listeners were 
opened/failed/re-opened due to couch failing to send heart beats 
for extended periods.

Moving to erlang at least eliminated the couchjs processes and 
sped up the filtering, though the problem with heart beats 
ultimately required some changes both to the filter's logic, 
which prevented a producer from reading its own writes, and in 
the front-end application framework to work around the problem.


View raw message