URLConnection vs HttpClient 성능 비교

주야·2024년 2월 16일

현재 코드 분석 시 api 통신 방식이 2가지 사용됨을 발견했습니다.

분석 결과,

단순 기능(GET, POST)에 대해서는 URLConnection 을 사용,
CRUD와 같은 다양한 기능을 구현해야 하는 부분에서는 HttpClient를 사용
한 것을 알 수 있었습니다.

신규 서비스 구현 시에도 적용할까 싶은데,

정말 성능 차이가 나는지 궁금해서 간단하게 응답시간 테스트를 진행했습니다.

TEST 조건

  • jsonplaceholder 내 dummy data Json Type 500개 GET 요청
  • 첫 3 way handshake 과정은 무시
  • 타임아웃 시간 설정 50000ms으로 설정하여 2번째 통신부터 비교함

프로젝트 구조

UrlGet.java 가 URL Connection 코드 구현 부분


ClientGet.java 가 HttpClient 코드 구현 부분


Test 결과

Url Connection은 첫 연결 시 1200~1300 ms가 소요된 후 그 이후 같은 작업 요청 시 응답시간이 200~300 ms 소요됨.

HttpClient의 경우 첫 연결 포함 응답에 평균 400~499 ms소요됨을 확인했다.

최종 정리

profile
개발자

0개의 댓글