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
|`max_transaction_ops`|`PERCONALOAD_MAX_TRANSACTION_OPS`| Maximum number of operations to group into a single transaction block |`5`|
191
193
|**Operation Ratios**|| (Must sum to ~100) ||
192
194
|`find_percent`|`PERCONALOAD_FIND_PERCENT`| Percentage of Find operations |`50`|
193
195
|`insert_percent`|`PERCONALOAD_INSERT_PERCENT`| Percentage of Insert operations (this is not related to the initial seed inserts) |`20`|
@@ -233,6 +235,59 @@ When executed, plgm performs the following steps:
233
235
234
236

235
237
238
+
### Interpreting the Output
239
+
240
+
To show how the Ops/Sec metrics are represented and what they signify, here is a sample of the real-time monitor output and a final summary. This data is modeled after the flights workload used when default_workload is true.
241
+
242
+
#### Real-Time Monitor Sample
243
+
While running a workload, plgm prints a row every second (based on `status_refresh_rate_sec`).
244
+
245
+
```bash
246
+
> Starting Workload...
247
+
248
+
TIME | TOTAL OPS | SELECT | INSERT | UPDATE | DELETE | AGG | TRANS
INSERT 12.11 ms 4.10 ms 85.00 ms 66.00 ms 73.00 ms
279
+
UPDATE 9.71 ms 3.20 ms 78.40 ms 65.00 ms 71.00 ms
280
+
DELETE 9.60 ms 3.05 ms 76.20 ms 65.00 ms 72.00 ms
281
+
TRANS 25.40 ms 12.00 ms 145.00 ms 95.00 ms 112.00 ms
282
+
```
283
+
284
+
What this represents:
285
+
286
+
* Avg Rate (Ops/Sec): The total throughput of the database cluster. It is calculated by dividing Total Ops by the total Runtime.
287
+
* AVG Latency: The average time (in milliseconds) it took the MongoDB driver to receive a response for that operation.
288
+
* 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.
289
+
* 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`.
290
+
236
291
---
237
292
238
293
## Custom Workloads
@@ -327,6 +382,8 @@ Please note:
327
382
* If `use_transactions: false`, the transaction_percent value is ignored.
328
383
* If there are no aggregation queries defined in queries.json, the aggregate_percent value is also ignored.
329
384
* Aggregate operations will only generate activity if at least one query with "operation": "aggregate" is defined in your active JSON query files.
385
+
* 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.
386
+
330
387
331
388
#### Concurrency & Workers
332
389
***`concurrency`**: Controls the number of "Active Workers" continuously executing operations against the database.
0 commit comments