Return-Path: X-Original-To: apmail-couchdb-commits-archive@www.apache.org Delivered-To: apmail-couchdb-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8DEB3C14C for ; Fri, 14 Jun 2013 08:25:22 +0000 (UTC) Received: (qmail 87308 invoked by uid 500); 14 Jun 2013 08:25:10 -0000 Delivered-To: apmail-couchdb-commits-archive@couchdb.apache.org Received: (qmail 87092 invoked by uid 500); 14 Jun 2013 08:25:09 -0000 Mailing-List: contact commits-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list commits@couchdb.apache.org Received: (qmail 85571 invoked by uid 99); 14 Jun 2013 08:24:59 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Jun 2013 08:24:58 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id A34F5816C1B; Fri, 14 Jun 2013 08:24:58 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: kxepal@apache.org To: commits@couchdb.apache.org Date: Fri, 14 Jun 2013 08:25:01 -0000 Message-Id: <58b08d5cf88c4ed49d6d27f0539638c0@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [04/32] git commit: updated refs/heads/1781-reorganize-and-improve-docs to 11fd32a Describe couchdb config section. Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/5bc869ea Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/5bc869ea Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/5bc869ea Branch: refs/heads/1781-reorganize-and-improve-docs Commit: 5bc869ea0637eda985496456e5c9762ebcbc78e2 Parents: 7c8fe09 Author: Alexander Shorin Authored: Tue Jun 11 17:37:21 2013 +0400 Committer: Alexander Shorin Committed: Tue Jun 11 18:54:13 2013 +0400 ---------------------------------------------------------------------- share/doc/build/Makefile.am | 3 + share/doc/src/config/couchdb.rst | 180 ++++++++++++++++++++++++++++++++++ share/doc/src/config/index.rst | 1 + 3 files changed, 184 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb/blob/5bc869ea/share/doc/build/Makefile.am ---------------------------------------------------------------------- diff --git a/share/doc/build/Makefile.am b/share/doc/build/Makefile.am index ca9c8a6..42b43a8 100644 --- a/share/doc/build/Makefile.am +++ b/share/doc/build/Makefile.am @@ -56,6 +56,7 @@ html_files = \ html/_sources/config/admins.txt \ html/_sources/config/attachments.txt \ html/_sources/config/cors.txt \ + html/_sources/config/couchdb.txt \ html/_sources/config/httpd.txt \ html/_sources/config/index.txt \ html/_sources/config/os-daemons.txt \ @@ -109,6 +110,7 @@ html_files = \ html/config/admins.html \ html/config/attachments.html \ html/config/cors.html \ + html/config/couchdb.html \ html/config/httpd.html \ html/config/index.html \ html/config/os-daemons.html \ @@ -160,6 +162,7 @@ src_files = \ ../src/config/admins.rst \ ../src/config/attachments.rst \ ../src/config/cors.rst \ + ../src/config/couchdb.rst \ ../src/config/httpd.rst \ ../src/config/index.rst \ ../src/config/os-daemons.rst \ http://git-wip-us.apache.org/repos/asf/couchdb/blob/5bc869ea/share/doc/src/config/couchdb.rst ---------------------------------------------------------------------- diff --git a/share/doc/src/config/couchdb.rst b/share/doc/src/config/couchdb.rst new file mode 100644 index 0000000..a6824e7 --- /dev/null +++ b/share/doc/src/config/couchdb.rst @@ -0,0 +1,180 @@ +.. Licensed under the Apache License, Version 2.0 (the "License"); you may not +.. use this file except in compliance with the License. You may obtain a copy of +.. the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +.. License for the specific language governing permissions and limitations under +.. the License. + +.. highlight:: ini + +.. _config/couchdb: + +``[couchdb]`` :: Base CouchDB Options +===================================== + +These options are under ``[couchdb]`` section. + + +.. _config/couchdb/attachment_stream_buffer_size: + +``attachment_stream_buffer_size`` :: Attachment streaming buffer +---------------------------------------------------------------- + +Higher values may give better read performance due to less read operations +and/or more OS page cache hits, but they can also increase overall response +time for writes when there are many attachment write requests in parallel:: + + [couchdb] + attachment_stream_buffer_size = 4096 + + +.. _config/couchdb/database_dir: + +``database_dir`` :: Databases location directory +------------------------------------------------ + +Specifies location of CouchDB databases files (``*.couch`` named). This location +should be writable and readable for user that runs CouchDB service (``couchdb`` +by default):: + + [couchdb] + database_dir = /var/lib/couchdb + + +.. _config/couchdb/delayed_commits: + +``delayed_commits`` :: Delayed commits +-------------------------------------- + +When this config value as ``false`` the CouchDB provides guaranty of fsync call +before return ``HTTP 201 Created`` response on each document saving. Setting +this config value as ``true`` may raise some overall performance with cost of +losing durability - it's strongly not recommended to do such in production:: + + [couchdb] + delayed_commits = false + +.. warning:: + + Delayed commits are a feature of CouchDB that allows it to achieve better + write performance for some workloads while sacrificing a small amount of + durability. The setting causes CouchDB to wait up to a full second before + committing new data after an update. If the server crashes before the header + is written then any writes since the last commit are lost. + + +.. _config/couchdb/file_compression: + +``file_compression`` :: Compression method for documents +----------------------------------------------------------- + +.. versionchanged:: 1.2 Added `Google Snappy`_ compression algorithm + +Method used to compress everything that is appended to database and view index +files, except for attachments (see the :ref:`[attachments] ` +section). Available methods are: + +* ``none``: no compression +* ``snappy``: use Google Snappy, a very fast compressor/decompressor. +* ``deflate_N``: use zlib's deflate, ``N`` is the compression level which ranges + from 1 (fastest, lowest compression ratio) to 9 (slowest, highest compression + ratio) + +:: + + [couchdb] + file_compression = snappy + +.. _Google Snappy: http://code.google.com/p/snappy/ + + +.. _config/couchdb/max_dbs_open: + +``max_dbs_open`` :: Limit of simultaneously opened databases +------------------------------------------------------------ + +This option places an upper bound on the number of databases that can be open at +one time. CouchDB reference counts database accesses internally and will close +idle databases when it must. Sometimes it is necessary to keep more than the +default open at once, such as in deployments where many databases will be +continuously replicating:: + + [couchdb] + max_dbs_open = 100 + + +.. _config/couchdb/max_document_size: + +``max_document_size`` :: Maximum document size +---------------------------------------------- + +.. versionchanged:: 1.3 This option now actually works. + +Defines limit of size in bytes that document may has in JSON form. Doesn't +applies for attachments since they are been transferred as stream of chunks. +Do not set this value too small since you want be able to modify config options, +database security and other options until you restore this value by edit config +file:: + + [couchdb] + max_document_size = 4294967296 ; 4 GB + + +.. _config/couchdb/os_process_timeout: + +``os_process_timeout`` :: External processes time limit +------------------------------------------------------- + +Number of microseconds that external processes such as `query server` and +`externals` may process CouchDB commands before return any result. Keeping +this value smaller you'll be ensured that your services works fast, but you may +tweak it depending on your needs:: + + [couchdb] + os_process_timeout = 5000 ; 5 sec + + +.. _config/couchdb/uri_file: + +``uri_file`` :: Discovery CouchDB help file +------------------------------------------- + +This file contains full `URI`_ that runs CouchDB. It's used to help discover +CouchDB served port if it was set to ``0`` (e.g. automatically assigned any +free one). This file should be writable and readable for user that runs CouchDB +service (``couchdb`` by default):: + + [couchdb] + uri_file = /var/run/couchdb/couchdb.uri + +.. _URI: http://en.wikipedia.org/wiki/URI + + +.. _config/couchdb/util_driver_dir: + +``util_driver_dir`` :: CouchDB binary utility drivers +----------------------------------------------------- + +Specified location of binary drivers (`icu`, `ejson`, etc.). This location and +his content should be readable for user that runs CouchDB service:: + + [couchdb] + util_driver_dir = /usr/lib/couchdb/erlang/lib/couch-1.3.0/priv/lib + + +.. _config/couchdb/view_index_dir: + +``view_index_dir`` :: View indexes location directory +----------------------------------------------------- + +Specifies location of CouchDB view index files. This location should be writable +and readable for user that runs CouchDB service (``couchdb`` by default):: + + [couchdb] + view_index_dir = /var/lib/couchdb + http://git-wip-us.apache.org/repos/asf/couchdb/blob/5bc869ea/share/doc/src/config/index.rst ---------------------------------------------------------------------- diff --git a/share/doc/src/config/index.rst b/share/doc/src/config/index.rst index a052d62..d351dc3 100644 --- a/share/doc/src/config/index.rst +++ b/share/doc/src/config/index.rst @@ -50,6 +50,7 @@ Content: admins attachments cors + couchdb httpd os-daemons ssl