On Aug 7, 2010, at 4:37 AM, Sivan Greenberg wrote: > As I am also using a JS filter and fear the performance and load > consequences, how does one go about writing an erlang filter? >
The Erlang filter is gonna be the most efficient option. First create a design doc with language == "erlang" then write your filter like the "show" here, but it returns true or false. http://github.com/apache/couchdb/blob/trunk/share/www/script/test/erlang_views.js#L57 another example from this (fixed) bug report. https://issues.apache.org/jira/browse/COUCHDB-740 Chris > -SIvan > > On Fri, Aug 6, 2010 at 11:55 PM, J Chris Anderson <[email protected]> wrote: >> >> On Aug 6, 2010, at 1:38 PM, Talib Sharif wrote: >> >>> Hey All, >>> >>> Do people have experience with the scalability and performance of the >>> _changes api in general, and especially when using with filters? >>> >>> How many connections can be kept open? >>> >> >> If you use a JavaScript filter, you will have more limited concurrency that >> with an Erlang filter, as the JS filters run in their own OS process. >> CouchDB tries to be reasonably efficient with these, but they are still much >> more heavyweight than the Erlang ones. >> >>> And is the changes api function of size/updates/total_no_documents? >>> >> >> I think the _changes API should have no scalability issues, as the wall you >> will hit long before running an (Erlang) changes filter will be the insert / >> update rate of the database itself. >> >> If you were to say, make thousands of concurrent changes requests, with >> varying since=Seq params, that would be the worst case, so you can test that >> work load if you want to find boundaries conditions. (Bottleneck here would >> be for disk IO reads I think). >> >> Chris >> >>> Thanks, >>> Talib >> >>
