# load-testing-utils / content-review

## How to Run

`docker compose up --scale worker=8`

Note (https://docs.locust.io/en/2.2.3/running-locust-distributed.html):

Because Python cannot fully utilize more than one core per process (see GIL), you should typically run one worker instance per processor core on the worker machines in order to utilize all their computing power.


## Example Run

### Terminal

I chose to create 8 workers as my macbook has 8 processor cores.

```shell
(load-testing-utils)  py[load-testing-utils-nv6180MI]  ~/p/l/content-review   PEACE-126_add_content-review_load_tests   docker compose up --scale worker=8
[+] Running 9/9
 ⠿ Container content-review-worker-1  Recreated                                                                                                                                                                                                     1.9s
 ⠿ Container content-review-master-1  Recreated                                                                                                                                                                                                     2.2s
 ⠿ Container content-review-worker-6  Recreated                                                                                                                                                                                                     2.0s
 ⠿ Container content-review-worker-2  Recreated                                                                                                                                                                                                     1.9s
 ⠿ Container content-review-worker-7  Recreated                                                                                                                                                                                                     2.1s
 ⠿ Container content-review-worker-4  Recreated                                                                                                                                                                                                     1.9s
 ⠿ Container content-review-worker-8  Recreated                                                                                                                                                                                                     1.7s
 ⠿ Container content-review-worker-5  Recreated                                                                                                                                                                                                     2.1s
 ⠿ Container content-review-worker-3  Recreated                                                                                                                                                                                                     2.0s
Attaching to content-review-master-1, content-review-worker-1, content-review-worker-2, content-review-worker-3, content-review-worker-4, content-review-worker-5, content-review-worker-6, content-review-worker-7, content-review-worker-8
content-review-worker-7  | [2022-02-18 22:37:32,260] f41089931290/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-4  | [2022-02-18 22:37:32,462] 19e8f8b91016/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-5  | [2022-02-18 22:37:32,691] 1aedf8ac62ad/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-3  | [2022-02-18 22:37:33,430] d1fa79f04950/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-6  | [2022-02-18 22:37:33,822] 29478e5d54e9/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-1  | [2022-02-18 22:37:34,607] 63a7a1a3eede/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-2  | [2022-02-18 22:37:34,840] 7658833ff7eb/INFO/locust.main: Starting Locust 2.8.2
content-review-worker-8  | [2022-02-18 22:37:35,331] 17e601d1503f/INFO/locust.main: Starting Locust 2.8.2
content-review-master-1  | [2022-02-18 22:37:35,784] e7ca10fd3695/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
content-review-master-1  | [2022-02-18 22:37:35,870] e7ca10fd3695/INFO/locust.main: Starting Locust 2.8.2
content-review-master-1  | [2022-02-18 22:37:35,876] e7ca10fd3695/INFO/locust.runners: Client 'd1fa79f04950_2f4af5d106384a469ba4cb4e0fe7da7d' reported as ready. Currently 1 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,877] e7ca10fd3695/INFO/locust.runners: Client '17e601d1503f_9a3cd5e6e04748b68205ff21999b4d7b' reported as ready. Currently 2 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,878] e7ca10fd3695/INFO/locust.runners: Client '7658833ff7eb_ad809ce2640b48e38c9e733cec2b2004' reported as ready. Currently 3 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,879] e7ca10fd3695/INFO/locust.runners: Client '29478e5d54e9_af8e1d64b120409fa8d4a3c0adb033d1' reported as ready. Currently 4 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,880] e7ca10fd3695/INFO/locust.runners: Client '19e8f8b91016_2b0f5aa610f1475f8d989a929262ed95' reported as ready. Currently 5 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,882] e7ca10fd3695/INFO/locust.runners: Client 'f41089931290_f11b4127156548f58c5d66eb8714ec2d' reported as ready. Currently 6 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,883] e7ca10fd3695/INFO/locust.runners: Client '63a7a1a3eede_8bdf1e25384243a6baa42e92a663b1da' reported as ready. Currently 7 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:35,949] e7ca10fd3695/INFO/locust.runners: Client '1aedf8ac62ad_dbf1a6a34e9c45278b32920ed9c2e38a' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:37:54,793] e7ca10fd3695/INFO/locust.runners: Sending spawn jobs of 800 users at 8.00 spawn rate to 8 ready clients
content-review-master-1  | [2022-02-18 22:39:34,355] e7ca10fd3695/INFO/locust.runners: All users spawned: {"ContentReviewUser": 800} (800 total users)
content-review-master-1  | [2022-02-18 22:48:06,702] e7ca10fd3695/INFO/locust.runners: Removing 63a7a1a3eede_8bdf1e25384243a6baa42e92a663b1da client from running clients
content-review-master-1  | [2022-02-18 22:48:06,707] e7ca10fd3695/INFO/locust.runners: Client '63a7a1a3eede_8bdf1e25384243a6baa42e92a663b1da' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,710] e7ca10fd3695/INFO/locust.runners: Removing 29478e5d54e9_af8e1d64b120409fa8d4a3c0adb033d1 client from running clients
content-review-master-1  | [2022-02-18 22:48:06,712] e7ca10fd3695/INFO/locust.runners: Client '29478e5d54e9_af8e1d64b120409fa8d4a3c0adb033d1' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,731] e7ca10fd3695/INFO/locust.runners: Removing d1fa79f04950_2f4af5d106384a469ba4cb4e0fe7da7d client from running clients
content-review-master-1  | [2022-02-18 22:48:06,735] e7ca10fd3695/INFO/locust.runners: Client 'd1fa79f04950_2f4af5d106384a469ba4cb4e0fe7da7d' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,757] e7ca10fd3695/INFO/locust.runners: Removing 17e601d1503f_9a3cd5e6e04748b68205ff21999b4d7b client from running clients
content-review-master-1  | [2022-02-18 22:48:06,757] e7ca10fd3695/INFO/locust.runners: Client '17e601d1503f_9a3cd5e6e04748b68205ff21999b4d7b' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,776] e7ca10fd3695/INFO/locust.runners: Removing 19e8f8b91016_2b0f5aa610f1475f8d989a929262ed95 client from running clients
content-review-master-1  | [2022-02-18 22:48:06,777] e7ca10fd3695/INFO/locust.runners: Client '19e8f8b91016_2b0f5aa610f1475f8d989a929262ed95' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,788] e7ca10fd3695/INFO/locust.runners: Removing 7658833ff7eb_ad809ce2640b48e38c9e733cec2b2004 client from running clients
content-review-master-1  | [2022-02-18 22:48:06,789] e7ca10fd3695/INFO/locust.runners: Client '7658833ff7eb_ad809ce2640b48e38c9e733cec2b2004' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,805] e7ca10fd3695/INFO/locust.runners: Removing f41089931290_f11b4127156548f58c5d66eb8714ec2d client from running clients
content-review-master-1  | [2022-02-18 22:48:06,806] e7ca10fd3695/INFO/locust.runners: Client 'f41089931290_f11b4127156548f58c5d66eb8714ec2d' reported as ready. Currently 8 clients ready to swarm.
content-review-master-1  | [2022-02-18 22:48:06,815] e7ca10fd3695/INFO/locust.runners: Removing 1aedf8ac62ad_dbf1a6a34e9c45278b32920ed9c2e38a client from running clients
content-review-master-1  | [2022-02-18 22:48:06,815] e7ca10fd3695/INFO/locust.runners: Client '1aedf8ac62ad_dbf1a6a34e9c45278b32920ed9c2e38a' reported as ready. Currently 8 clients ready to swarm.
^CGracefully stopping... (press Ctrl+C again to force)
[+] Running 9/9
 ⠿ Container content-review-master-1  Stopped                                                                                                                                                                                                       5.3s
 ⠿ Container content-review-worker-4  Stopped                                                                                                                                                                                                       4.1s
 ⠿ Container content-review-worker-8  Stopped                                                                                                                                                                                                       3.6s
 ⠿ Container content-review-worker-2  Stopped                                                                                                                                                                                                       3.0s
 ⠿ Container content-review-worker-5  Stopped                                                                                                                                                                                                       4.6s
 ⠿ Container content-review-worker-3  Stopped                                                                                                                                                                                                       4.9s
 ⠿ Container content-review-worker-7  Stopped                                                                                                                                                                                                       5.1s
 ⠿ Container content-review-worker-1  Stopped                                                                                                                                                                                                       3.9s
 ⠿ Container content-review-worker-6  Stopped                                                                                                                                                                                                       2.9s
canceled
```

### Results
[8 workers, ++8 per sec, max 800](results/8%20workers%2C%20%2B%2B8%20per%20sec%2C%20max%20800)
