nickva commented on issue #1475: Replication Problem when using SSL with Nginx 
frontend and native SSL CouchDB
URL: https://github.com/apache/couchdb/issues/1475#issuecomment-409474178
 
 
   Hi @empeje 
   
   Thank you for your report. A few questions and comments:
   
    * Regarding the 3Gb files, are those sizes for single document bodies? Are 
those attachments? Individual or total? Usually storing large individual 
documents or attachments in that range is considered an anti-pattern for 
CouchDB. Is there any way to break those up into smaller documents?
   
    * Is it a single replication or are there others (many) running at the same 
time?
   
   * Noticed that max http request size and max client body size are set to 1Gb 
and CouchDB's max document size is set to 4Gb.  Perhaps adjust the request size 
in both Nginx and CouchDb to a large value. For max request size, you'd want it 
greater than the sum of all the document's revisions and the total size of its 
attachments.
   
   * Regarding Experiment 1, with 2.1.2 release, should apply some of those max 
size configs, as opposed to using the defaults. In that release max request 
size was 64Mb so the default values won't work, especially if you have 
individual doc revisions + attachment sizes that exceed that.
   
   * Do you know if smaller sizes work, what are the limits that work (1Gb, 
100Mb,...)?
   
   * Perhaps try replicating on a local network without SSL or Nginx as a 
debugging experiment...
   
   * Inspect the logs on source and target. Do you see 413 http errors, 
timeouts? Especially see if you can notice the part when errors start 
happening. A 413 error, either sent by CouchDB or Nginx, might indicate that 
some of the max size limits might be applied.
   
   * `use_checkpoints = true` is the default for the replicator, no need to set 
it explicitly.
   
   * There is also 
http://docs.couchdb.org/en/stable/config/replicator.html#replicator/connection_timeout
 setting, maybe adjusting that up a bit might help.
   
    * Checkpoints are usually not that expensive, just an update of a local 
document on target and source. Try not to delay it too much. I would reduce 
that to something closer to the default.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to