Test/OS

[아키] Synchronized Block으로 인한 성능 저하, WAN 구간 응답속도 개선 ​

kiostory 2018. 5. 28. 22:48
  • 성능 테스트 중 성능 지연 현상 발생
  • internet Banking 지연발생. TP Queueing없음. TP 서비스 응답시간 양호.​
  • ---
  • 분석도구 : jstack 명령어를 이용 JVM Thread Dump 생성
  • FlameGraph 생성하여 분석​
  • ---
  • com.inzent.mca.adapter.common.system.tmax.TmaxAdapter.getAvailableSession 에서 Blocking 발생 확인
  • 패키지 jar 파일 jd이용하여 decompile
  • 소스내에서 불필요한 Synchronized Block 확인​
  • ---
  • 소스내에서 불필요한 Synchronized Block 제거 요청으로 제거
  • FlameGraph으로 com.inzent.mca.adapter.common.system.tmax.TmaxAdapter.getAvailableSession 에서 Blocking 없어짐 확인​
  • --------------------------------------------------------------------------------------------------------------------
  • WAN 구간 응답속도 개선
  • A사는 다국적 쇼핑몰 회사로서 PC, 모바일 웹사이트를 운영하고 있으며, 대한민국과 중국 등 여러 국가에서 3G, 4G, Wifi등 다양한 경로를 통해 홈페이지에 접속한다. 서버는 한국내 데이터 센터에 위치해 있다.

    • 기술요소 : WEB, WAS, DB, Network​
    • 4G 서비스 기준으로 중국 내 일부 통신사에서 응답속도 지연현상이 발생함​
    • ---
    • 모바일 테스트 결과 중국에서 접속할 때 보다 한국에서 접속 할 때 응답시간이 양호하며 3G Non-cache 속도의 차이가 가장 많이 발생함​
    • RTT분석결과 A사의 RTT는 평균 200ms 를 넘었으며, 회선 불안정으로 인한 Packet 유실과 재전송이 체감속도 저하에 더 큰 영향을 줌 
    • 한국 서버로 접속시 패킷 재전송으로 인해 지연이 발생했으나, 중국 내 로컬 서버로 접속 시 Packet 유실이 거의발생하지 않음
    • ---
    • ​해외 접속 시 해저 광케이블을 이용하며 국가별 거리와 라우터 경로에 따라 응답시간 지연이 발생하기 때문에 이를 최소화하는 방안이 필요함
      • 방안1 : RTT 감소를 위한 중국 내 서버 이전 구축
      • 방안2 : CDN을 구성하여 정적 이미지 및 자주 사용하는 콘텐츠에 대해 Delivery 시간 최소화​
      • 방안3 : 저용량의 모바일 전용 컨텐츠를 사용하여 파일 전송량 및 TCP 턴수 감소​
      • 방안4 : WAS에서 처리되는 정적 콘텐츠는 WEB서버로 이관하고 압축을 적용하여 네트워크 전송 데이터 축소​
      • 방안5 : 정적 콘텐츠(js) 파일의 용량을 축소하여 초기페이지 로딩속도를 향상함​
      • 방안6 : Cache-Control 속성을 이용하여 한번 요청한 파일에 대해 설정된 기간 동안 브라우저 캐시에 저장하여 사용하도록하여 HTTP 요청 수를 줄임​
      • --------------------------------------------------------------------------------------------------------------------