diff --git a/.env.example b/.env.example index 818b8a4..efb25aa 100644 --- a/.env.example +++ b/.env.example @@ -4,6 +4,9 @@ # Docker Hub 사용자명 (앱 이미지: /docker-springboot:latest) DOCKER_USERNAME=your-dockerhub-username +# Spring 프로파일 (평소 prod / 부하테스트 시 prod,loadtest 로 변경하면 헤더 기반 userId 활성화) +SPRING_PROFILES_ACTIVE=prod + # MySQL MYSQL_ROOT_PASSWORD=change-me-root-password DB_NAME=course_register diff --git a/build.gradle b/build.gradle index 4343738..c27da78 100644 --- a/build.gradle +++ b/build.gradle @@ -60,6 +60,10 @@ dependencies { // redisson implementation 'org.redisson:redisson-spring-boot-starter:3.27.2' + + // monitoring (부하테스트용 지표: thread pool / connection pool / cpu) + implementation 'org.springframework.boot:spring-boot-starter-actuator' + implementation 'io.micrometer:micrometer-registry-prometheus' } tasks.named('test') { diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 4ee7077..f81e812 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -42,7 +42,7 @@ services: ports: - "80:8080" environment: - SPRING_PROFILES_ACTIVE: prod + SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-prod} DB_HOST: mysql DB_PORT: 3306 DB_NAME: ${DB_NAME} diff --git a/src/main/java/com/practice/course_registration/global/init/DataInitializer.java b/src/main/java/com/practice/course_registration/global/init/DataInitializer.java index 15bf16a..a767c37 100644 --- a/src/main/java/com/practice/course_registration/global/init/DataInitializer.java +++ b/src/main/java/com/practice/course_registration/global/init/DataInitializer.java @@ -50,7 +50,7 @@ public void run(String... args) { private void seedSubjects() { SubjectDay[] days = SubjectDay.values(); List subjects = new ArrayList<>(); - for (int i = 1; i <= 20; i++) { + for (int i = 1; i <= 30; i++) { subjects.add(Subject.builder() .subjectName("테스트과목" + i) .professorName("교수" + i) diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 4130b4b..371e554 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -43,5 +43,15 @@ server: app: seed: enabled: true - member-count: 100 - member-password: test1234 \ No newline at end of file + member-count: 2500 + member-password: test1234 + +# 부하테스트용 지표 노출 (thread pool / connection pool / cpu) +management: + endpoints: + web: + exposure: + include: health, prometheus + metrics: + tags: + application: course-registration \ No newline at end of file