요구사항: K6를 사용해 인터페이스를 스트레스 테스트합니다.
복습
K6 도구
K6는 성능 및 테스트 업계에서의 다년간의 경험을 바탕으로 구축된 현대적인 부하 테스트 도구입니다. 강력하고, 확장 가능하며, 기능이 풍부합니다. 주요 설계 목표는 최고의 개발자 경험을 제공하는 것입니다.
주요 특징은 다음과 같습니다:
설정 가능한 부하 생성. 저사양 기계도 대량의 트래픽을 시뮬레이션할 수 있습니다. 코드로 테스트하세요. 스크립트, 모듈러 로직, 버전 관리, 테스트 통합을 CI와 함께 재사용하세요. 완전한 기능을 갖춘 API입니다. 스크립팅 API는 실제 애플리케이션 트래픽을 시뮬레이션하는 데 도움을 주는 다양한 기능을 포함하고 있습니다. 내장 JavaScript 엔진. Go 성능, JavaScript 스크립트 익숙도. 다중 프로토콜 지원. HTTP, WebSockets, gRPC, 브라우저 등등. 대규모 확장 생태계. K6는 필요에 맞게 연장할 수 있습니다. 많은 사람들이 이미 커뮤니티와 확장팩을 공유했습니다! 유연한 지표, 저장 및 시각화. 통계나 세밀한 지표를 집계하여 원하는 서비스로 내보내세요. Grafana 클라우드와의 네이티브 통합. 테스트 실행, 지표 상관관계, 데이터 분석 등 다양한 기능을 위한 SaaS 솔루션입니다.
이것이 21세기의 부하 테스트입니다.
문서조사:하이퍼링크 로그인이 보입니다. 소스 코드 주소:하이퍼링크 로그인이 보입니다. Windows용 다운로드:하이퍼링크 로그인이 보입니다.
테스트
다음 코드로 새로운 test.js 구성 스크립트를 생성하세요:
테스트를 실행하고, 명령어:
출력 상세 설명
- 시나리오: 테스트 스크립트 실행을 간략히 설명하고; 테스트 케이스 수, 가상 사용자 수 및 최대 실행 시간을 설명해 주세요.
- data_received: 수신된 데이터의 양
- data_sent: 전송된 데이터의 양
- http_req_blocked: 요청을 시작하기 전에 차단된 시간입니다
- http_req_connecting: 원격 호스트와 TCP 연결을 구축하는 데 소요되는 시간
- http_req_duration: 요청의 총 시간. 이는 http_req_sending + http_req_waiting + http_req_receiving 중요한 지표와 같습니다
- http_req_failed: 요청 실패율
- http_req_receiving: 초기 DNS 조회/연결 시간 없이 원격 호스트로부터 응답 데이터를 받는 데 걸리는 시간
- http_req_sending: 원격 호스트로 데이터를 전송하는 데 걸리는 시간
- http_req_tls_handshaking: 원격 호스트와 악수하여 TLS 세션을 설정하는 데 걸리는 시간
- http_req_waiting: 원격 호스트가 응답할 때까지 기다리는 시간
- http_reqs: 총 TPS 요청 수
- iteration_duration: 기본/주요 함수의 완전한 반복을 완료하는 데 걸리는 시간
- 반복: 스크립트에서 함수가 실행되는 횟수입니다
- vus: 현재 활성 중인 가상 사용자 수입니다
- vus_max: 가상 사용자 수 최대
- 체크: 체크 아이템의 성공률
지원되는 출력 결과는 Amazon CloudWatch, Cloud, CSV, Datadog, Dynatrace, Elasticsearch, Grafana Cloud Prometheus, InfluxDB, JSON, Netdata, New Relic, Prometheus, TimescaleDB, StatsD, 참고문헌:하이퍼링크 로그인이 보입니다. |