couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Newson (JIRA)" <>
Subject [jira] Commented: (COUCHDB-964) Large memory usage downloading attachments
Date Thu, 25 Nov 2010 13:39:14 GMT


Robert Newson commented on COUCHDB-964:

I've run this test on OS X (10.6.5) and cannot reproduce the problem. the RSIZE of beam.smp
remains at 180 mb throughout the test and drops to 40 mb on completion.

CouchDB does not buffer the whole attachment into memory. It could be that Erlang's GC is
unable to keep up on your hardware and therefore the unreferenced chunks of the attachment
are still retained in memory.

> Large memory usage downloading attachments
> ------------------------------------------
>                 Key: COUCHDB-964
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 1.0.1
>         Environment: Linux, Erlang R14B
>            Reporter: David Orrell
> When downloading a large attachment the CouchDB process appears to load the entire attachment
in memory before data is sent to the client. I have a 1.5 GB attachment and the CouchDB process
grows by approximately this amount per client connection.
> For example (as reported by Bram Nejit):
> dd if=/dev/urandom of=/tmp/test.bin count=50000 bs=10240
> Put test.bin as an attachment in a coucdb database
> Run
> for i in {0..50};do curl http://localhost:5984/[test
> database]/[doc_id]/test.bin > /dev/null 2>&1 & done
> This will create 50 curl processes which download from your couchdb. Looking at the memory
consumption of couchdb, it seems like it is loading large parts of the file into memory.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message