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
|`uri`|`PERCONALOAD_URI`| Target MongoDB connection URI |`mongodb://user:pass@host:27017`|
178
-
|`direct_connection`|`PERCONALOAD_DIRECT_CONNECTION`| Force direct connection (bypass topology discovery) |`true`|
179
-
|`replicaset_name`|`PERCONALOAD_REPLICA_SET`| Replica Set name (required for sharded clusters/RS) |`rs0`|
180
-
|`read_preference`|`PERCONALOAD_READ_PREFERENCE`| By default, an application directs its read operations to the primary member in a replica set. You can specify a read preference to send read operations to secondaries. |`nearest`|
181
-
|`username`|`PERCONALOAD_USERNAME`| Database User |`admin`|
182
-
|***can not be set via config***|`PERCONALOAD_PASSWORD`| Database Password (if not set, plgm will prompt) |`password123`|
177
+
|`uri`|`PLGM_URI`| Target MongoDB connection URI |`mongodb://user:pass@host:27017`|
178
+
|`direct_connection`|`PLGM_DIRECT_CONNECTION`| Force direct connection (bypass topology discovery) |`true`|
179
+
|`replicaset_name`|`PLGM_REPLICA_SET`| Replica Set name (required for sharded clusters/RS) |`rs0`|
180
+
|`read_preference`|`PLGM_READ_PREFERENCE`| By default, an application directs its read operations to the primary member in a replica set. You can specify a read preference to send read operations to secondaries. |`nearest`|
181
+
|`username`|`PLGM_USERNAME`| Database User |`admin`|
182
+
|***can not be set via config***|`PLGM_PASSWORD`| Database Password (if not set, plgm will prompt) |`password123`|
183
183
|**Workload Control**||||
184
-
|`concurrency`|`PERCONALOAD_CONCURRENCY`| Number of active worker goroutines |`50`|
185
-
|`duration`|`PERCONALOAD_DURATION`| Test duration (Go duration string) |`5m`, `60s`|
186
-
|`default_workload`|`PERCONALOAD_DEFAULT_WORKLOAD`| Use built-in "Flights" workload (`true`/`false`) |`false`|
187
-
|`collections_path`|`PERCONALOAD_COLLECTIONS_PATH`| Path to custom collection JSON files (supports directories for multi-collection load) |`./schemas`|
188
-
|`queries_path`|`PERCONALOAD_QUERIES_PATH`| Path to custom query JSON files or directory. |`./queries`|
189
-
|`documents_count`|`PERCONALOAD_DOCUMENTS_COUNT`| Number of documents to seed initially |`10000`|
190
-
|`drop_collections`|`PERCONALOAD_DROP_COLLECTIONS`| Drop collections before starting (`true`/`false`) |`true`|
191
-
|`skip_seed`|`PERCONALOAD_SKIP_SEED`| Do not seed initial data on start (`true`/`false`) |`true`|
|`max_transaction_ops`|`PLGM_MAX_TRANSACTION_OPS`| Maximum number of operations to group into a single transaction block |`5`|
195
195
|**Operation Ratios**|| (Must sum to ~100) ||
196
-
|`find_percent`|`PERCONALOAD_FIND_PERCENT`| Percentage of Find operations |`50`|
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`|
199
-
|`update_percent`|`PERCONALOAD_UPDATE_PERCENT`| Percentage of Update operations |`10`|
200
-
|`delete_percent`|`PERCONALOAD_DELETE_PERCENT`| Percentage of Delete operations |`10`|
201
-
|`aggregate_percent`|`PERCONALOAD_AGGREGATE_PERCENT`| Percentage of Aggregate operations |`5`|
202
-
|`transaction_percent`|`PERCONALOAD_TRANSACTION_PERCENT`| Percentage of Transactional operations |`5`|
196
+
|`find_percent`|`PLGM_FIND_PERCENT`| Percentage of Find operations |`50`|
197
+
|`insert_percent`|`PLGM_INSERT_PERCENT`| Percentage of Insert operations (this is not related to the initial seed inserts) |`10`|
198
+
|`bulk_insert_percent `|`PLGM_BULK_INSERT_PERCENT`| Percentage of Bulk Insert operations (this is not related to the initial seed inserts) |`10`|
199
+
|`update_percent`|`PLGM_UPDATE_PERCENT`| Percentage of Update operations |`10`|
200
+
|`delete_percent`|`PLGM_DELETE_PERCENT`| Percentage of Delete operations |`10`|
201
+
|`aggregate_percent`|`PLGM_AGGREGATE_PERCENT`| Percentage of Aggregate operations |`5`|
202
+
|`transaction_percent`|`PLGM_TRANSACTION_PERCENT`| Percentage of Transactional operations |`5`|
203
203
|**Performance Optimization**||||
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`|
206
-
|`find_limit`|`PERCONALOAD_FIND_LIMIT`| Hard limit on documents per Find query |`10`|
207
-
|`insert_cache_size`|`PERCONALOAD_INSERT_CACHE_SIZE`| Size of the document generation buffer |`1000`|
208
-
|`op_timeout_ms`|`PERCONALOAD_OP_TIMEOUT_MS`| Soft timeout for individual DB operations (ms) |`500`|
209
-
|`retry_attempts`|`PERCONALOAD_RETRY_ATTEMPTS`| Number of retries for transient errors |`3`|
210
-
|`retry_backoff_ms`|`PERCONALOAD_RETRY_BACKOFF_MS`| Wait time between retries (ms) |`10`|
211
-
|`status_refresh_rate_sec`|`PERCONALOAD_STATUS_REFRESH_RATE_SEC`| How often to print stats to console (sec) |`5`|
204
+
|`find_batch_size`|`PLGM_FIND_BATCH_SIZE`| Documents returned per cursor batch |`100`|
205
+
|`insert_batch_size`|`PLGM_INSERT_BATCH_SIZE`| Number of documents per insert batch |`100`|
206
+
|`find_limit`|`PLGM_FIND_LIMIT`| Hard limit on documents per Find query |`10`|
207
+
|`insert_cache_size`|`PLGM_INSERT_CACHE_SIZE`| Size of the document generation buffer |`1000`|
208
+
|`op_timeout_ms`|`PLGM_OP_TIMEOUT_MS`| Soft timeout for individual DB operations (ms) |`500`|
209
+
|`retry_attempts`|`PLGM_RETRY_ATTEMPTS`| Number of retries for transient errors |`3`|
210
+
|`retry_backoff_ms`|`PLGM_RETRY_BACKOFF_MS`| Wait time between retries (ms) |`10`|
211
+
|`status_refresh_rate_sec`|`PLGM_STATUS_REFRESH_RATE_SEC`| How often to print stats to console (sec) |`5`|
* Avg Rate (Ops/Sec): The total throughput of the database cluster. It is calculated by dividing Total Ops by the total Runtime.
292
292
* AVG Latency: The average time (in milliseconds) it took the MongoDB driver to receive a response for that operation.
293
293
* P95/P99 (Percentiles): These are the most critical metrics for performance tuning. P99 represents the "worst-case" scenario for 99% of your users. For example, if P99 SELECT is 9.00ms, it means 99% of your flight searches completed in under 9ms, while 1% took longer.
294
-
* TRANS Latency: This will typically be higher than individual operations because a single transaction block contains 1 to X grouped operations, where X is defined in the config file via `max_transaction_ops` or the env var `PERCONALOAD_MAX_TRANSACTION_OPS`.
294
+
* TRANS Latency: This will typically be higher than individual operations because a single transaction block contains 1 to X grouped operations, where X is defined in the config file via `max_transaction_ops` or the env var `PLGM_MAX_TRANSACTION_OPS`.
295
295
296
296
---
297
297
@@ -342,8 +342,8 @@ To run your own workload against your own schema:
* If `use_transactions: false`, the transaction_percent value is ignored.
397
397
* If there are no aggregation queries defined in queries.json, the aggregate_percent value is also ignored.
398
398
* Aggregate operations will only generate activity if at least one query with "operation": "aggregate" is defined in your active JSON query files.
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.
399
+
* The maximum number of operations within a transaction is defined in the config file via `max_transaction_ops` or the env var `PLGM_MAX_TRANSACTION_OPS`. The number of operations per transaction will be randomized, with the max number being set as explained above.
400
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.
0 commit comments