You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PERCONALOAD_OP_TIMEOUT_MS Soft timeout per DB op (ms)
@@ -192,13 +194,15 @@ You can override any setting in `config.yaml` using environment variables. This
192
194
|`max_transaction_ops`|`PERCONALOAD_MAX_TRANSACTION_OPS`| Maximum number of operations to group into a single transaction block |`5`|
193
195
|**Operation Ratios**|| (Must sum to ~100) ||
194
196
|`find_percent`|`PERCONALOAD_FIND_PERCENT`| Percentage of Find operations |`50`|
195
-
|`insert_percent`|`PERCONALOAD_INSERT_PERCENT`| Percentage of Insert operations (this is not related to the initial seed inserts) |`20`|
197
+
|`insert_percent`|`PERCONALOAD_INSERT_PERCENT`| Percentage of Insert operations (this is not related to the initial seed inserts) |`10`|
198
+
|`bulk_insert_percent `|`PERCONALOAD_BULK_INSERT_PERCENT`| Percentage of Bulk Insert operations (this is not related to the initial seed inserts) |`10`|
196
199
|`update_percent`|`PERCONALOAD_UPDATE_PERCENT`| Percentage of Update operations |`10`|
197
200
|`delete_percent`|`PERCONALOAD_DELETE_PERCENT`| Percentage of Delete operations |`10`|
198
201
|`aggregate_percent`|`PERCONALOAD_AGGREGATE_PERCENT`| Percentage of Aggregate operations |`5`|
199
202
|`transaction_percent`|`PERCONALOAD_TRANSACTION_PERCENT`| Percentage of Transactional operations |`5`|
200
203
|**Performance Optimization**||||
201
204
|`find_batch_size`|`PERCONALOAD_FIND_BATCH_SIZE`| Documents returned per cursor batch |`100`|
205
+
|`insert_batch_size`|`PERCONALOAD_INSERT_BATCH_SIZE`| Number of documents per insert batch |`100`|
202
206
|`find_limit`|`PERCONALOAD_FIND_LIMIT`| Hard limit on documents per Find query |`10`|
203
207
|`insert_cache_size`|`PERCONALOAD_INSERT_CACHE_SIZE`| Size of the document generation buffer |`1000`|
204
208
|`op_timeout_ms`|`PERCONALOAD_OP_TIMEOUT_MS`| Soft timeout for individual DB operations (ms) |`500`|
@@ -380,7 +384,8 @@ By default, the tool comes preconfigured with the following workload distributio
380
384
| Find | 50% |
381
385
| Update | 20% |
382
386
| Delete | 10% |
383
-
| Insert | 10% |
387
+
| Insert | 5% |
388
+
| Bulk Inserts | 5% |
384
389
| Aggregate | 5% |
385
390
| Transaction | 5% |
386
391
@@ -389,7 +394,7 @@ You can modify any of the values above to run different types of workloads.
389
394
Please note:
390
395
391
396
* If `use_transactions: false`, the transaction_percent value is ignored.
392
-
* If there are no aggregation queries defined in queries.json, the aggregate_percent value is also ignored.
397
+
* If there are no aggregation queries defined in queries.json, the aggregate_percent value is also ignored.
393
398
* Aggregate operations will only generate activity if at least one query with "operation": "aggregate" is defined in your active JSON query files.
394
399
* The maximum number of operations within a transaction is defined in the config file via `max_transaction_ops` or the env var `PERCONALOAD_MAX_TRANSACTION_OPS`. The number of operations per transaction will be randomized, with the max number being set as explained above.
395
400
* Multi-Collection Load: If multiple collections are defined in your collections_path, each worker will randomly select a collection for every operation. This includes operations within a transaction, allowing for cross-collection atomic updates.
@@ -418,12 +423,15 @@ These settings affect the efficiency of individual database operations and memor
418
423
***`find_batch_size`**: The number of documents returned per batch in a cursor.
419
424
**Tip:* Higher values reduce network round-trips but increase memory usage per worker.
420
425
**Default:*`10`
426
+
***`insert_batch_size`**: The number of documents to be inserted by bulk inserts.
427
+
**Default:*`10`
421
428
***`find_limit`**: The hard limit on documents returned for `find` operations.
422
429
**Default:*`5`
423
430
***`insert_cache_size`**: The buffer size for the document generator channel.
424
431
**Tip:* This decouples document generation from database insertion. A larger buffer ensures workers rarely wait for data generation logic.
425
432
**Default:*`1000`
426
-
***`Upserts`**: Any updateOne or updateMany operation in your query JSON files can include "upsert": true. This will cause MongoDB to create the document if no match is found for the filter.
433
+
***`upserts`**: Any updateOne or updateMany operation in your query JSON files can include "upsert": true. This will cause MongoDB to create the document if no match is found for the filter.
434
+
427
435
428
436
#### Timeouts & Reliability
429
437
Control how plgm reacts to network lag or database pressure.
0 commit comments