본문 바로가기

개발관련

성능테스트

728x90

성능테스트

JMETER

  • 클라우드 기반 테스트
    • 하나의 컴퓨터로 트래픽 수가 한정되어 여러대를 동시에 사용하는 대신 클라우드 기반 테스트
    • CPU 2코어, 메모리 4GB 가상머신 1대당 동시접속 1만 배정
    • 가상머신 총 100대 → 1회테스트 32,000원 (네트워크 비용 제외)
  • CI/CD
    • 코드배포 후 자동 성능테스트
    • 젠킨스 jmeter플러그인
    • github PerfAction
  • Monitoring
    • Jmeter backend listener → 도구를 통한 확인 가능
      • 성능테스트 결과를 db에 입력 가능(JDBC지원 가능)
      • elasticsearch - kibana로 확인
      • grafana
  • 실제 테스트 내용
    • 50명 동시 부하테스트 결과
      • 5초 이상 걸리는 것들 분석결과 (쿼리가 길었다)
        • 쿼리튜닝대신 redis 캐시를 활용하여 부하를 분산하였다.
    • 지도 서비스
      • logstash가 메인 ap보다 cpu를 많이 차지함지
      • 로그 분석에 힘을 줬기 때문 << logstash 설정 변경하여 부하 줄임

프론트엔드 테스트

  • 웹 성능 개선이란?
    1. 전체 로드 시간 단축
    2. 기능 로딩
      1. 버튼을 눌렀을때 기능
    3. 상호작용
      1. 클릭이벤트에 대한 반응 등
  • 로딩성능 / 랜더링 성능
    • 리소스를 빨리 받는 로딩성능
    • 받은 리소스를 빠르게 그리는 랜더링 성능
  • 크롬 브라우저 개발자도구
    • 로딩성능 측정 방법
      • 네트워크탭

        캐싱처리만 해도 더 속도를 줄일 수 있다.
  • 랜더링성능 측정 방법
    • 브라우저에서 html을 그릴때는 순서가 있다

DOM을 구성 시점별 확인 가능

body내에 sciprt로 이미지를 넣으면 html파싱 두번안함

Lighthouse 사용하여 개선

[로딩성능 + 랜더링 성능 + 사용자 경험 ] 을 점수화 해줌

728x90