일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IntelliJ
- elasticsearch
- it
- redis
- Spring
- java
- JVM
- MySQL
- ubuntu
- 맛집
- Spring Batch
- php
- javascript
- jsp
- Gradle
- ReactJS
- 요리
- springboot
- linux
- AWS
- Oracle
- laravel
- Design Patterns
- devops
- Web Server
- jenkins
- Git
- tool
- Spring Boot
- db
- Today
- Total
목록성능 (2)
아무거나
Nginx Keepalive TIME_WAIT 소켓이 쌓이는 근본적인 문제 해결 방법 Ngnix와 웹 애플리케이션 서버(Tomcat + Spring Boot) 간의 요청이므로 TCP Handshake를 한다. 하지만 빈번하게 통신이 발생하면 응답시간에 대한 레이턴시가 발생할 수 있다. 즉, 모든 요청에 TCP Handshake가 발생하므로 불필요한 리소스 낭비가 생기므로 keepalive가 필요함 keepalive란 한번 맺은 세션을 요청이 끝나더라도 유지해주는 기능 -> 매 요청마다 새로운 세션을 만들지 않고, 지정된 숫자만큼의 세션을 연결한 뒤 그 연결을 통해 요청을 처리 설정적용 [/etc/ngnix/nginx.conf] ... map $http_upgrade $connection_upgrade {..
커널 파라미터 튜닝 예시: Nginx가 9091 포트로 연결하는 과정에서 문제가 발생(하나의 서버에 Nginx + app 이 있을 때 Nginx가 Client 기준으로 되므로 포트 고갈 이슈 발생) 소켓 상태 확인 (만약 timewait가 20xxx개면 timewait 소켓이 2만개나 되는것이다) // 소켓 상태 확인 $ ss -s // 소켓 상태 확인(자세히) $ netstat -napo | grep -i time_wait // 9091 포트가 목적지인 timeout 소켓 개수 확인 $ netstat -napo | grep -ic 9091 해결방법 Local Port 범위 증가 (일시적으론 대체가 가능하나 결국 지속적인 요청으로 인하여 포트의 고갈이 다시 발생) $ echo "10240 65535" >..