A newer version of this documentation is available.

View Latest

Viewing Internal Settings

    +
    Internal settings change cluster behavior and are used for Couchbase use only.

    Description

    These internal settings change cluster behavior, performance, and timing and are exposed only via the REST API. The /internalSettings parameters are implemented on the server level.

    The settings detailed on this page are meant for performance tuning. Rigorous and careful testing of any changes to these settings should be made in a non-production environment that is representative, in load and scale, of production data before implementing in production. Incorrect settings can cause severe impacts to cluster performance or operation due to resource consumption. Couchbase makes no recommendations for tuning beyond the default settings. Any changes to these settings not explicitly recommended by Couchbase Employees are not supported by Couchbase.
    The Maximum Parallel Indexer setting can also be implemented on the global level via /settings/maxParallelIndexers globalValue.
    HTTP URI Description

    GET

    /internalSettings

    Retrieves Couchbase internal settings.

    GET

    /settings/maxParallelIndexers

    Retrieves the global and node-specific parallel indexer configuration.

    POST

    /settings/maxParallelIndexers globalValue

    Sets and retrieves the new global and node-specific parallel indexer configuration. Value range: 1 to 1024. Default: 4

    Response codes

    HTTP/1.1 200 OK
    HTTP/1.1 500 Internal Server Error
    Getting internal settings

    Couchbase internal settings are retrieved with the GET /internalSettings HTTP method and URI.

    HTTP method and URI
    GET /internalSettings
    Syntax
    curl --username=ADMIN --password=PASSWORD HOST:PORT/internalSettings
    Example
    curl -u Administrator:password1 http://10.4.2.4:8091/internalSettings
    Response
     {
           "capiRequestLimit": "",
           "dropRequestMemoryThresholdMiB": "",
           "indexAwareRebalanceDisabled": false,
           "maxBucketCount": 10,
           "maxParallelIndexers": 4,
           "maxParallelReplicaIndexers": 2,
           "rebalanceIgnoreViewCompactions": false,
           "rebalanceIndexPausingDisabled": false,
           "rebalanceIndexWaitingDisabled": false,
           "rebalanceMovesBeforeCompaction": 64,
           "rebalanceMovesPerNode": 1,
           "restRequestLimit": "",
           "xdcrAnticipatoryDelay": 0,
           "xdcrCheckpointInterval": 1800,
           "xdcrDocBatchSizeKb": 2048,
           "xdcrFailureRestartInterval": 30,
           "xdcrMaxConcurrentReps": 16,
           "xdcrOptimisticReplicationThreshold": 256,
           "xdcrWorkerBatchSize": 500
           }
    The following internal parameters are deprecated. Use the equivalent parameter in /settings/replications instead.
    xdcrCheckpointInterval
               xdcrDocBatchSizeKb
               xdcrFailureRestartInterval
               xdcrMaxConcurrentReps
               xdcrOptimisticReplicationThreshold
               xdcrWorkerBatchSize

    Changing internal settings

    Couchbase internal settings are changed with the POST /internalSettings HTTP method and URI.

    HTTP method and URI
    POST /internalSettings
    Syntax
    curl -v -X POST
           http://[admin]:[password]@[localhost]:8091/internalSettings -d [parameter]
    Example

    For example, to update the maximum number of buckets:

    curl -v -X POST \
              http://Administrator:password@10.5.2.117:8091/internalSettings -d maxBucketCount=15
    Response
    * About to connect() to 10.5.2.117 port 8091 (#0)
               *   Trying 10.5.2.117... connected
               * Connected to 10.5.2.117 (10.5.2.117) port 8091 (#0)
               * Server auth using Basic with user 'Administrator'
               > POST /internalSettings HTTP/1.1
               > Authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==
               > User-Agent: curl/7.21.4 (x86_64-unknown-linux-gnu) libcurl/7.21.4 OpenSSL/0.9.8b zlib/1.2.3
               > Host: 10.5.2.117:8091
               > Accept: */*
               > Content-Length: 17
               > Content-Type: application/x-www-form-urlencoded
    
               HTTP/1.1 200 OK
               Server: Couchbase Server
               Pragma: no-cache
               Date: Tue, 09 Sep 2014 01:01:57 GMT
               Content-Type: application/json
               Content-Length: 2
               Cache-Control: no-cache
    
               * Connection #0 to host 10.5.2.117 left intact
               * Closing connection #0

    Setting maximum parallel indexers

    Couchbase internal settings for the maximum parallel View indexers are retrieved and changed with the GET and POST /settings/maxParallelIndexers HTTP methods and URI.

    This setting only applies to View indexes and no the Indexing Service for Global Secondary Indexes (GSI).
    HTTP method and URI

    To set the Maximum Parallel Indexer parameter on the global level, use the /settings/maxParallelIndexers URI and globalValue parameter. The value range is 1 to 1024. Default: 4. The results provide the global and node-specific parallel indexer configuration.

    GET /settings/maxParallelIndexers
               POST /settings/maxParallelIndexers globalValue
    Syntax
    // Example via browser
           http://[localhost]:8091/settings/maxParallelIndexers
    
           // Example via curl
           curl -u [admin]:[password] http://[localhost]:8091/settings/maxParallelIndexers
    Example: GET

    To view the current setting:

    curl -u Administrator:password http://10.5.2.117:8091/settings/maxParallelIndexers
    Response
    {
             "globalValue": 4,
             "nodes": {
             "ns_1@10.5.2.117": 4
             }
             }
    Example: POST

    To change the setting, use the POST method with the /settings/maxParallelIndexers URI and globalValue parameter. Value range: 1 to 1024. Default: 4.

    curl  -X POST -u Administrator:password \
              http://10.5.2.117:8091/settings/maxParallelIndexers -d 'globalValue=8'
    Response
    {
              "globalValue": 8,
               "nodes": {
               "ns_1@10.5.2.117": 8
               }
               }