[ 
https://issues.apache.org/jira/browse/COUCHDB-2724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14598018#comment-14598018
 ] 

ASF subversion and git services commented on COUCHDB-2724:
----------------------------------------------------------

Commit a2a7a04141fe2911206f8dcd22b4490dfd6855e0 in couchdb-chttpd's branch 
refs/heads/2724-chunked-buffering from [~kocolosk]
[ https://git-wip-us.apache.org/repos/asf?p=couchdb-chttpd.git;h=a2a7a04 ]

Buffer rows for normal/longpoll feeds

This patch causes the coordinator to accumulate data in its own buffer
and reduce the number of calls to write data on the socket. The size of
the buffer is configurable:

[httpd]
chunked_response_buffer = 1490

The default is chosen to approximately fill a standard Ethernet frame.

COUCHDB-2724


> Batch rows in streaming responses to improve throughput
> -------------------------------------------------------
>
>                 Key: COUCHDB-2724
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-2724
>             Project: CouchDB
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Database Core, HTTP Interface
>            Reporter: Adam Kocoloski
>            Assignee: Adam Kocoloski
>
> [~tonysun83] showed me some profiling of the {{_changes}} feed which 
> indicated that the coordinator process was spending about 1/3 of its time 
> executing inside {{send_delayed_chunk}}. We can reduce the number of 
> invocations of this function by buffering individual rows until we reach a 
> (configurable) threshold for sending the data out the wire.
> We'll of course want to be careful about continuous feeds; if we're in the 
> "slow drip" portion of the feed we'll obviously want to emit right away 
> instead of adding latency unnecessarily.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to