TIME_WAIT

2018-05-03
이번 글은 카프카와 관련된 주제가 아닌 시스템 엔지니어로서 제가 담당하는 서비스에서 실제로 트러블슈팅했던 내용을 공유하고자 합니다. 이 글 중간에 나오는 TIME_WAIT이나 tw_reuse, tw_recycle에 대한 이야기는 제가 가진 지식보다 정리를 잘 해주신 분들이 있기 때문에 자세히 다루지 않고, 경험한 내용을 바탕으로 필요한 부분만 간략하게 설명하겠습니다. 저와 같이 유사한 사례가 발생했을 때 빠른 원인 파악 후 간단하게 해결하였으면 하는 바람입니다....
2017-09-14
지난 글에 이어 계속해서 성능 테스트에 대한 이야기 입니다. 전체 성능 테스트에 대해서는 시나리오 작성, 테스트 프로그램, 테스트 수행, 원인 파악 등 실제로 수행한 액션들에 대해서는 별도의 글로 한번 정리하도록 하겠습니다. 마이크로 서비스 로 구성된 시스템에서는 서비스간 호출이 많이 발생하는데 이들 서비스간 호출하는데 있어 다양한 프로토콜을 사용할 수 있습니다. 제가 운영하는 서비스에서는 HTTP 기반으로 호출하고 데이터는 JSON 형태로 인터페이스를 하고 있습니다. 마이크로 서비스에서 서비스간 호출에 있어 조심해야 할 사항 중에 하나가 Connection Pool을 사용하지 않고 Socket을 지속적으로 만들고 Close 하는 것입니다. 얼핏 생각하면 Connection Pool을 사용하는 것과 사용하지 않는 것의 차이는 네트워크 연결 비용이 조금 더 들어 처리 속도가 조금 느려 진다는 정도만 생각할 수 있습니다. 저도 이번 테스트를 수행하기 전에 이런 생각을 가지고 있었는데 Connection Pool을 사용하지 않으면 서버 자체에 문제를 줄 수 있다는 것을 알게 되었습니다....
더보기