...
When Couchbase is selected as the storage type in an Aggregation profile, a bucket is automatically created during the execution of a workflow. The bucket is named according to the configuration of the assigned Couchbase profile. The bucket is populated with documents that contain the aggregation session data. This makes it possible to index the timeout information of aggregation sessions in Couchbase.
The aggregation session data is fetched using a an N1QL query.
Note | ||
---|---|---|
| ||
N1QL queries are used by default. If you want to use views instead, use the following
|
The data returned by the query is split into chunks of a configurable size. The size of each partial set of data can be configured by setting the property view.iteratorpageSize
in the Advanced tab of the assigned Couchbase profile. Setting a higher value than the default 1000 , may increase throughput performance but it depends on the available RAM of the Execution Context host.
You can choose to update the result set from a query before or after it has been called. Or you can choose to retrieve the existing result set from a query. In this case, the results are possibly out of date, or stale. To control this behavior, you can set the property view.index.stale
in the Advanced tab of the assigned Couchbase profile. The following settings are available:
FALSE
- The index is updated before the query is executed. This ensures that any documents updated (and persisted to disk) are included in the query. The client waits until the index has been updated before the query is executed, and therefore the response is delayed until the updated index is available.OK
- The index is not updated. If an index exists for the given query, the information in the current index is used as the basis for the query, and the results are returned accordingly. This value is seldom used and only if automatic index updates are enabled in Couchbase.UPDATE_AFTER
- This is the recommended setting when using a Couchbase profile with Aggregation. The existing index is used as the basis of the query, but the index is marked for updating once the results have been returned to the client.
...
There are by default, two timeout threads per workflow that periodically check the Couchbase aggregation storage for timed-out sessions. You can control how often this check is performed by setting mz.cb.agg.timeoutwait.sec
. The default value is 10 seconds.
You can also increase the number of threads that perform this check by setting the property mz.cb.agg.timeout_no_of_thread
. Setting a higher value than the default may speed up the detection of timeouts. However, the number of CPUs and the time that it takes for Couchbase to index accessed documents (session data) are limiting factors.
...
You use the Operation Timeout (ms) setting in the Connectivity tab of the assigned Couchbase profile to control the timeout of Couchbase "CRUD" operations, i e create, read, update, and delete. Setting a lower value than the default 1000 ms may have a positive impact on throughput performance. However, if the value is set too low, indicated by a large number of operation timeouts timeout errors in the EC/ECSA logs, a lower throughput can be expected.
...
Note | ||
---|---|---|
| ||
This section only applies if you are using a view instead of queries. |
In order to obtain the best possible performance in the Aggregation agent, you should disable automatic index updates in Couchbase.
...
For more information about automated index updates, see http://docs.couchbase.com/admin/admin/Views/views-operation.html.
Scroll ignore | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||