diff --git a/api/src/core/db.py b/api/src/core/db.py index da9c415..61aca8a 100644 --- a/api/src/core/db.py +++ b/api/src/core/db.py @@ -2,7 +2,11 @@ from src.core.settings import settings import src.models -engine = create_engine(str(settings.PGSQL_DATABASE_URI)) +engine = create_engine( + str(settings.PGSQL_DATABASE_URI), + pool_size=settings.POSTGRES_POOL_SIZE, + max_overflow=settings.POSTGRES_MAX_OVERFLOW, +) async def init_db(): diff --git a/api/src/core/settings.py b/api/src/core/settings.py index 5b7942a..07c1820 100644 --- a/api/src/core/settings.py +++ b/api/src/core/settings.py @@ -18,6 +18,8 @@ class Settings(BaseSettings): POSTGRES_USER: str POSTGRES_PASSWORD: str = "" POSTGRES_DB: str = "" + POSTGRES_POOL_SIZE: int = 15 + POSTGRES_MAX_OVERFLOW: int = 20 # Keycloak KEYCLOAK_URL: str = "" diff --git a/performance/k6/base-user.js b/performance/k6/base-user.js index aff0b27..a968b27 100644 --- a/performance/k6/base-user.js +++ b/performance/k6/base-user.js @@ -28,7 +28,7 @@ export const options = { const scenarios = { current_user: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_PROFILE_RATE || 5), + rate: Number(__ENV.K6_PROFILE_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -38,7 +38,7 @@ export const options = { }, enrolled_courses: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_ENROLLED_RATE || 5), + rate: Number(__ENV.K6_ENROLLED_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -48,7 +48,7 @@ export const options = { }, progress_list: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_PROGRESS_RATE || 5), + rate: Number(__ENV.K6_PROGRESS_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -58,7 +58,7 @@ export const options = { }, certificates: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_CERTIFICATES_RATE || 3), + rate: Number(__ENV.K6_CERTIFICATES_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -68,7 +68,7 @@ export const options = { }, my_stats: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_ME_STATS_RATE || 3), + rate: Number(__ENV.K6_ME_STATS_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -78,7 +78,7 @@ export const options = { }, compliance_status: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_COMPLIANCE_RATE || 3), + rate: Number(__ENV.K6_COMPLIANCE_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -88,7 +88,7 @@ export const options = { }, compliance_doc: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_COMPLIANCE_DOC_RATE || 2), + rate: Number(__ENV.K6_COMPLIANCE_DOC_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -98,7 +98,7 @@ export const options = { }, compliance_quiz: { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_COMPLIANCE_QUIZ_RATE || 2), + rate: Number(__ENV.K6_COMPLIANCE_QUIZ_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5), @@ -111,7 +111,7 @@ export const options = { if (courseId) { scenarios.course_progress = { executor: "constant-arrival-rate", - rate: Number(__ENV.K6_COURSE_PROGRESS_RATE || 3), + rate: Number(__ENV.K6_COURSE_PROGRESS_RATE || 15), timeUnit: "1s", duration: __ENV.K6_DURATION || "1m", preAllocatedVUs: Number(__ENV.K6_PREALLOCATED_VUS || 5),