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
           }
           }