Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 8778 invoked from network); 24 Mar 2010 10:01:57 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 24 Mar 2010 10:01:57 -0000 Received: (qmail 37965 invoked by uid 500); 24 Mar 2010 10:01:56 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 37639 invoked by uid 500); 24 Mar 2010 10:01:56 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 37631 invoked by uid 99); 24 Mar 2010 10:01:55 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Mar 2010 10:01:55 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=AWL,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of john2do@gmail.com designates 74.125.78.26 as permitted sender) Received: from [74.125.78.26] (HELO ey-out-2122.google.com) (74.125.78.26) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Mar 2010 10:01:47 +0000 Received: by ey-out-2122.google.com with SMTP id 4so777929eyf.41 for ; Wed, 24 Mar 2010 03:01:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=41Jgk4B0D2XgbgTx9YioGsRRQ8uPDAdlzM09xD8e6n0=; b=hvsklNXzaSnzZWUJNEZQVinqHTy3ZfrgZWJJzwcwxryW3HGAApuYcHhfmGqmeQobN5 xn0pvDQI6H3baKH/j3EQCTg/xoqOvv+l8OKI93YUzOYpwTPyV+1vkKJgxNN6AXDUflgB wDPCzvkQgFK4N+LF6ryU25Q1LHxAQpoUk3qXE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=XdH1MUaAmq+w/qhdN4syYEYkAt2cDEr/NQ1O+TggABpngqQx4t6U8nIQEiGY1l4xEG UlP/WwpQL5LhwAScD5AVFIS5piapDkbZHoLgAeEOTL2rY+e9QdJhRd51uXPE/YbKDN3i /PPplrT/7zNJ60xt2ciEdc38vG/ZhD/yVyRBo= MIME-Version: 1.0 Received: by 10.216.88.205 with SMTP id a55mr3352664wef.122.1269424885977; Wed, 24 Mar 2010 03:01:25 -0700 (PDT) In-Reply-To: References: Date: Wed, 24 Mar 2010 15:01:25 +0500 Message-ID: Subject: Re: perfomance? From: Vasili Batareykin To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=0016e6d7f07b65d0d504828903cc --0016e6d7f07b65d0d504828903cc Content-Type: text/plain; charset=ISO-8859-1 about keepalive: working: req: GET /uri HTTP/1.0 Connection: Keep-Alive Host: somehost User-Agent: someagent Accept: */* reply: HTTP/1.1 200 OK Date: Wed, 24 Mar 2010 09:44:36 GMT Server: megaserver Last-Modified: Sun, 22 Jul 2007 17:00:00 GMT ETag: "4d6436-8cdd-435dd17316400" Accept-Ranges: bytes Content-Length: 36061 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: somecontent/type mandory field in req is Connection: Keep-Alive. mandory(imho) fields in reply: Content-Length: 36061 (how much read ...) Keep-Alive: timeout=15, max=100 (timeouts) Connection: Keep-Alive (and this or "close" if not support this feature) but what we see in couchdb's reply to same req: HTTP/1.0 200 OK Server: CouchDB/0.10.0 (Erlang OTP/R13B) Date: Wed, 24 Mar 2010 09:37:27 GMT Content-Type: text/plain;charset=utf-8 Content-Length: 41 Cache-Control: must-revalidate Connection timeout n/a Connection type n/a i think RFC better source than my dump) in my case (replicated+vers file storage) erlang eats all CPU to process requests. mb there is better way to get files from couchdb? by version or by e-tag? or increase some kind buffers or memory pages? sorry i don't know internals. 2010/3/24 Randall Leeds > Yes, I do mean KeepAlive, sorry for the confusion. > CouchDB should support it. Can you show a dump of the headers received > by Couch somehow? Maybe there is something silly like an issue of case > with the headers. > > CouchDB cannot use sendfile (or some Erlang way to do the same) > because it puts bytes in the middle of the attachment on disk at > regular intervals. As I understand it, this is so that you can store > attachments that contain something like a database header without > breaking your database. Otherwise, storing something that looks like > the BTree header in an attachment could cause couch to open the > database incorrectly after an odd crash situation. > > This behavior maybe sounds very paranoid and strange, but one thing is > for sure: CouchDB is designed to be *robust*. Really, really, _really_ > hard to lose your data. > > On Wed, Mar 24, 2010 at 01:01, Vasili Batareykin > wrote: > > pipelining? you mean keepalive? ab hold test if you supply -k option (Use > > HTTP KeepAlive feature) seems that couchdb's httpd don't know about this) > > yes, throughput(in b/s) is better,but on localhost, if i use same test > with > > nginx i get around 1000 #/sec on 340k file. (344294.81 [Kbytes/sec]). > yes, > > nginx use sendfile for this operation. yes fs cache used too. but 70 > #/sec > > with couchdb ... > > > > 2010/3/24 Randall Leeds > > > >> If you multiple (#/sec) by file size, are actually getting _better_ > >> throughput with the larger files. > >> Do you know if ab command uses HTTP 1.1 pipelining? If not, HTTP > >> overhead would explain the extra time. > >> > > > --0016e6d7f07b65d0d504828903cc--