|
|
# Local profile
|
|
|
spring:
|
|
|
servlet:
|
|
|
multipart:
|
|
|
max-file-size: 15MB # 개별 파일 최대 크기를 15MB로 증가, multipart 를 이용시 header, type 등 정보가 붙어서 over head 가 발생할 수 있다고 함.
|
|
|
max-request-size: 150MB # 전체 요청 최대 크기를 150MB로 증가, multipart 를 이용시 header, type 등 정보가 붙어서 over head 가 발생할 수 있다고 함.
|
|
|
config:
|
|
|
activate:
|
|
|
on-profile: local
|
|
|
devtools:
|
|
|
livereload:
|
|
|
enabled: true
|
|
|
restart:
|
|
|
enabled: true
|
|
|
datasource:
|
|
|
driver-class-name: org.mariadb.jdbc.Driver
|
|
|
url: jdbc:mariadb://211.119.124.117:53306/ibmsdb?characterEncoding=UTF-8&allowMultiQueries=true
|
|
|
username: root
|
|
|
password: xit5811807
|
|
|
hikari:
|
|
|
|
|
|
# ==========================================
|
|
|
# 커넥션 풀 크기 설정 (4코어 32GB 서버 기준)
|
|
|
# ==========================================
|
|
|
# 동시에 사용할 수 있는 최대 커넥션 수
|
|
|
# 권장값: (코어수 × 2) + (동시사용자 × 0.1) = (4 × 2) + (300 × 0.1) = 38 → 40
|
|
|
# 이 값을 초과하면 새로운 커넥션 요청이 대기 상태가 됨
|
|
|
maximum-pool-size: 40
|
|
|
# 풀에서 유지할 최소 유휴 커넥션 수
|
|
|
# 권장값: maximum-pool-size의 25% (40 × 0.25 = 10)
|
|
|
# 갑작스러운 부하 증가 시 빠른 응답을 위해 미리 준비된 커넥션 유지
|
|
|
minimum-idle: 10
|
|
|
|
|
|
# ==========================================
|
|
|
# 커넥션 타임아웃 설정
|
|
|
# ==========================================
|
|
|
# 커넥션을 얻기 위한 최대 대기 시간 (밀리초)
|
|
|
# 권장값: 30초 - 네트워크 지연이나 데이터베이스 부하 시 적절한 대기 시간
|
|
|
connection-timeout: 30000
|
|
|
# 커넥션 유효성 검사 타임아웃 (밀리초)
|
|
|
# 권장값: 60초 - 유효성 검사가 너무 오래 걸리지 않도록 제한
|
|
|
validation-timeout: 60000
|
|
|
|
|
|
# ==========================================
|
|
|
# 커넥션 생명주기 관리
|
|
|
# ==========================================
|
|
|
# 커넥션의 최대 생명 시간 (밀리초)
|
|
|
# 권장값: 30분 - 데이터베이스 연결이 너무 오래 유지되지 않도록 제한
|
|
|
max-lifetime: 1800000
|
|
|
# 유휴 커넥션을 제거하기 위한 최소 대기 시간 (밀리초)
|
|
|
# 권장값: 10분 - 메모리 절약과 커넥션 재사용의 균형점
|
|
|
idle-timeout: 600000
|
|
|
|
|
|
# ==========================================
|
|
|
# 커넥션 누수 방지 (수백명 동시 사용 환경, 배치가 있으므로 제외 함.)
|
|
|
# ==========================================
|
|
|
# 커넥션 누수 감지 임계값 (밀리초)
|
|
|
# 권장값: 300초 (5분) - 일반적인 쿼리 실행 시간보다 충분히 큰 값
|
|
|
# 너무 짧으면 정상적인 긴 쿼리도 누수로 감지될 수 있음
|
|
|
# 너무 길면 커넥션 누수 시 메모리 부족 가능성
|
|
|
# leak-detection-threshold: 300000
|
|
|
|
|
|
#hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서)
|
|
|
#connection-test-query: select 1
|
|
|
auto-commit: false
|
|
|
|
|
|
# Server configuration
|
|
|
server:
|
|
|
servlet:
|
|
|
session:
|
|
|
timeout: 60m # 세션 타임아웃을 60분으로 증가
|
|
|
cookie:
|
|
|
http-only: true
|
|
|
secure: false # 개발환경에서는 false, 운영환경에서는 true
|
|
|
same-site: lax
|
|
|
tracking-modes: cookie
|
|
|
|
|
|
#logback
|
|
|
logging:
|
|
|
config: classpath:logback-spring.xml
|
|
|
file:
|
|
|
path: d:/data/@projectName@/logs
|
|
|
name: '@projectName@'
|
|
|
logback:
|
|
|
rollingpolicy:
|
|
|
max-file-size: 10MB
|
|
|
max-history: 30
|
|
|
level:
|
|
|
org.springframework: WARN
|
|
|
go.kr.project: DEBUG
|
|
|
go.kr.project.sql: INFO # datasource-proxy
|
|
|
go.kr.project.sql.binding: DEBUG # datasource-proxy 파라미터 바인딩된 쿼리 로그
|
|
|
egovframework: DEBUG
|
|
|
|
|
|
# File upload configuration
|
|
|
file:
|
|
|
upload:
|
|
|
path: d:/data/@projectName@/file
|
|
|
max-size: 10 # 단일 파일 최대 크기 (MB)
|
|
|
max-total-size: 100 # 총 파일 최대 크기 (MB)
|
|
|
max-files: 20 # 최대 파일 개수
|
|
|
allowed-extensions: hwp,jpg,jpeg,png,gif,pdf,doc,docx,xls,xlsx,ppt,pptx,txt,zip
|
|
|
real-file-delete: true # 실제 파일 삭제 여부
|
|
|
sub-dirs:
|
|
|
bbs-notice: bbs/notice # 공지사항 sample 파일 저장 경로
|
|
|
bbs-post: bbs/post # 게시판 파일 저장 경로
|
|
|
html-editor: common/html_editor # HTML 에디터 파일 저장 경로
|
|
|
crdn-act-photo: crdn-act-photo # 단속행위 사진
|
|
|
crdn-actn-photo: crdn-actn-photo # 단속행위 조치 사진
|
|
|
|
|
|
# Juso API configuration
|
|
|
juso:
|
|
|
api:
|
|
|
key: "devU01TX0FVVEgyMDI1MDkyMjEyMTM1NzExNjI0NzE="
|
|
|
url: "https://business.juso.go.kr/addrlink/addrLinkApiJsonp.do" |