Connection
-
서비스를 개발하며 외부 API를 호출하는 경우가 많이 존재한다.외부 API를 호출할 때 발생하는 timeout 내역들을 정리해 놓고, 다음에 이슈가 발생했을 때 쉽게 기억을 떠올리기 위해서 정리해 두자.Connection Timeout 클라이언트가 서버와 통신을 요청하기 전에 서로 Connection을 맺는 과정을 TCP 통신에서 3 way handshake이라 한다.이 과정에서 일정 시간이 지나 connection을 맺지 못하는 경우에 발생할 수 있는 Timeout이다.Caused by: java.net.SocketTimeoutException: Connect timed out Socket Timeout ~= Read Timeout클라이언트와 서버가 Connection을 맺은 이후에 발생할 수 있다. ..
[Timeout] Timeout 종류 정리(connection, socket, read..)서비스를 개발하며 외부 API를 호출하는 경우가 많이 존재한다.외부 API를 호출할 때 발생하는 timeout 내역들을 정리해 놓고, 다음에 이슈가 발생했을 때 쉽게 기억을 떠올리기 위해서 정리해 두자.Connection Timeout 클라이언트가 서버와 통신을 요청하기 전에 서로 Connection을 맺는 과정을 TCP 통신에서 3 way handshake이라 한다.이 과정에서 일정 시간이 지나 connection을 맺지 못하는 경우에 발생할 수 있는 Timeout이다.Caused by: java.net.SocketTimeoutException: Connect timed out Socket Timeout ~= Read Timeout클라이언트와 서버가 Connection을 맺은 이후에 발생할 수 있다. ..
2024.12.31 -
api-gateway와 같이 많은 요청이 들어오는 서버에 keep-alive와 같은 설정이 없는 경우에는 tcp connection이 부족할 수 도 있을 거라는 생각이 들었다. 이러한 상황을 방지하기 위해서 할 수 있는 서버 설정으로 어떤 것이 있는지 알아보자. net.ipv4.ip_local_port_range $ cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 $ sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000 로컬 포트 바인딩 할 수 있는 범위 로컬 포트가 부족하다면 해당 범위를 늘릴 수 있다. net.ipv4.tcp_tw_reuse $ sysctl -w i..
[Server] ip_local_port_range , tcp_tw_recycle, tcp_tw_reuseapi-gateway와 같이 많은 요청이 들어오는 서버에 keep-alive와 같은 설정이 없는 경우에는 tcp connection이 부족할 수 도 있을 거라는 생각이 들었다. 이러한 상황을 방지하기 위해서 할 수 있는 서버 설정으로 어떤 것이 있는지 알아보자. net.ipv4.ip_local_port_range $ cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 $ sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000 로컬 포트 바인딩 할 수 있는 범위 로컬 포트가 부족하다면 해당 범위를 늘릴 수 있다. net.ipv4.tcp_tw_reuse $ sysctl -w i..
2024.05.08 -
외장 Tomcat을 이용하여서 운영하던 서비스를 Spring Boot에서 제공하는 내장 Tomcat으로 전환하기로 하였다. 그 과정에서 Tomcat server.xml 설정의 Connector 내용을 spring boot 설정으로 옮기게 되었다. 각 설정들의 값들 중에 connection, thread에 해당하는 값들을 살펴보도록 하자. Thread server.tomcat.threads.max: 200 server.tomcat.threads.min-spare: 10 해당 값들은 application.yml에 "server.tomcat.." 설정을 하지 않았을 때의 default값들이다. ( https://docs.spring.io/spring-boot/docs/current/reference/html/..
[Tomcat] connection, thread, keep-alive 설정 살펴보기외장 Tomcat을 이용하여서 운영하던 서비스를 Spring Boot에서 제공하는 내장 Tomcat으로 전환하기로 하였다. 그 과정에서 Tomcat server.xml 설정의 Connector 내용을 spring boot 설정으로 옮기게 되었다. 각 설정들의 값들 중에 connection, thread에 해당하는 값들을 살펴보도록 하자. Thread server.tomcat.threads.max: 200 server.tomcat.threads.min-spare: 10 해당 값들은 application.yml에 "server.tomcat.." 설정을 하지 않았을 때의 default값들이다. ( https://docs.spring.io/spring-boot/docs/current/reference/html/..
2023.07.01