Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PostgresUser to examples #2836

Merged
merged 16 commits into from
Aug 24, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 10 additions & 20 deletions examples/database/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,19 @@
Read the instruction below for your specific database

## PostgreSQL
### How to run the test
- Prerequisites:
If you do not have them installed already
- `pip3 install psycopg3` - https://www.psycopg.org/psycopg3/docs/basic/install.html

- `pip3 install locust` - https://docs.locust.io/en/stable/installation.html

- Set your environment variables for:
- PGHOST
- PGPORT
- PGDATABASE
- PGUSER
- PGPASSWORD

so they can be picked up from `postgres_test.py`
### How to run the test

- Also, update the methods of the UserTasks class to run queries that will hit your database.
- Prerequisites:

#### Run test from browser:
- Open the terminal and run `locust -f postgres_test.py` this will give you a URL to follow. Likely `http://0.0.0.0:8089` from here, you can put in custom parameters to run your test
- `psycopg3` - https://www.psycopg.org/psycopg3/docs/basic/install.html

#### Run test from terminal:
- Set your environment variables for:

- Insert this into your terminal `locust -f name_of_test_file.py --users=500 --spawn-rate=10 --run-time='15s' --autostart --autoquit 3`
- For a full list of all the configuration options that can be used run `locust --help` and visit https://docs.locust.io/en/stable/configuration.html#configuration
- PGHOST
- PGPORT
- PGDATABASE
- PGUSER
- PGPASSWORD

- Run locust as usual, see https://docs.locust.io/en/stable/quickstart.html
3 changes: 1 addition & 2 deletions examples/database/postgresql/postgres_test.py
guel-codes marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from locust import TaskSet, between, task
from locust.contrib.postgres import PostgresUser

import os
import random

from base_postgres_user import PostgresUser


class UserTasks(TaskSet):
@task
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def request_handler(*args, **kwargs):

class PostgresUser(User):
abstract = True
client_class = PostgresClient

def __init__(self, *args, **kwargs):
self.client = self.client_class()
super().__init__(*args, **kwargs)
self.client = PostgresClient()