성능 테스트의 가장 중요한 지표에 대한 토혈 분류, 분석 및 설명, 원스텝 클리어런스...


머리말

QPS Queries Per Second는 서버가 초당 응답할 수 있는 쿼리 수인 초당 쿼리 속도로, 지정된 시간 내에 특정 쿼리 서버가 처리하는 트래픽, 즉 응답 수를 측정한 것입니다. 초당 요청도 최대 처리량입니다.

TPS:
초당 TPS 트랜잭션은 초당 트랜잭션 수입니다. 트랜잭션은 클라이언트가 서버에 요청을 보내고 서버가 응답하는 프로세스를 말합니다. 클라이언트는 요청을 보낼 때 타이밍을 시작하고 서버의 응답을 받은 후 타이밍을 종료하여 사용된 시간과 완료된 트랜잭션 수를 계산합니다.

QPS와 TPS의 차이점:
1. Tps는 다음을 포함하여 초당 처리되는 트랜잭션 수입니다.

사용자가 서버에 요청하고, 서버 자체의 내부 처리를 하고, 서버가 사용자에게 반환하는 경우
이 세 가지 프로세스 중 N개는 초당 완료될 수 있으며 Tps는 N입니다.

2. Qps는 기본적으로 Tps와 유사하지만 페이지 방문이 Tps를 형성한다는 점에서 차이점이 있습니다.

예를 들어, 페이지에 액세스하면 서버에 3번 요청하고, 일단 해제되면 "T"가 생성되고 3개의 "Q"가 생성됩니다.

예를 들어, 대식가는 1초에 빵 10개를 먹을 수 있고, 여자는 0.1초에 빵 1개를 먹을 수 있습니다. 대답은 '아니오'입니다. 이 소녀는 1초에 빵 10개를 먹을 수 없기 때문에 먹는 데 오랜 시간이 걸릴 수 있습니다. 이때 대식가는 TPS에 해당하고, 이 소녀는 QPS에 해당합니다. 유사하더라도 실제로는 다릅니다.

동시성 수:
동시성 수(동시성 정도): 시스템이 동시에 처리할 수 있는 요청 수를 나타내며, 이는 시스템의 로드 용량도 반영합니다. 이 값은 1초 이내에 해당 머신의 접속 로그 개수를 분석하여 얻을 수 있습니다.

처리량:
처리량: 처리량은 단위 시간당 시스템에서 처리하는 요청 수를 의미하며 TPS와 QPS는 처리량을 나타내는 일반적인 정량 지표입니다.

시스템 처리량 요소

시스템의 처리량(압력 견딜 수 있는 용량)은 요청, 외부 인터페이스, IO 등의 CPU 소비와 밀접한 관련이 있습니다.

단일 요청의 CPU 소비가 높을수록 외부 시스템 인터페이스 및 IO 영향이 느려지고 시스템 처리량이 낮아지며, 그 반대의 경우도 마찬가지입니다.

중요한 매개변수

QPS(TPS), 동시성 수, 응답 시간

QPS(TPS): 초당 요청/트랜잭션 수
동시성: 시스템이 동시에 처리하는 요청/트랜잭션
수 응답 시간: 일반적으로 평균 응답 시간

관계

QPS(TPS)=동시 횟수/평균 응답 시간

시스템의 처리량은 일반적으로 QPS(TPS)와 동시성이라는 두 가지 요소에 의해 결정됩니다.각 시스템에는 이 두 값에 대한 상대적인 제한 값이 있습니다.애플리케이션 시나리오의 액세스 압력 하에서 특정 항목이 최대 값에 도달하는 한 시스템, 시스템 처리량 압력이 계속 증가하면 대신 시스템의 처리량이 감소하게 되는데, 그 이유는 시스템이 과부하되어 컨텍스트 전환, 메모리 및 기타 소비로 인해 시스템 성능이 저하되기 때문입니다.

PV:
PV(페이지 조회수): 페이지 조회수, 즉 페이지 조회수 또는 클릭수로서 사용자가 새로고침할 때마다 계산됩니다. 하루 동안의 서비스 접속 로그에 대한 통계를 얻을 수 있습니다.

UV:
UV(Unique Visitor): 고유 방문자로, 1일 이내에 사이트를 방문한 사용자 수를 계산합니다. 사용자의 고유 식별자를 기반으로 하루 동안의 서비스 접속 로그를 수집하고 중복 제거할 수 있습니다. 응답 시간(RT): 응답 시간은 시스템이 요청에 응답하는 데 걸리는 시간을 말하며 일반적으로 평균 응답 시간이 소요됩니다. Nginx, Apache 등의 웹 서버를 통해 얻을 수 있습니다.

DAU:
DAU(Daily Active User), 일일 활성 사용자 수입니다. 종종 웹사이트, 인터넷 애플리케이션 또는 온라인 게임의 운영을 반영하는 데 사용됩니다. DAU는 일반적으로 하루(통계적 일수) 동안 특정 제품에 로그인하거나 사용한 사용자 수(반복적으로 로그인한 사용자 제외)를 집계하는데, 이는 UV의 개념과 유사합니다.

MAU:
MAU(Month Active User): 월간 활성 사용자 수, 중복 제거 후 웹사이트, 앱 등의 월간 활성 사용자 수를 의미합니다.

시스템 처리량 평가:
시스템을 설계할 때 CPU 컴퓨팅, IO, 외부 시스템 응답 요소 및 시스템 성능의 예비 추정치의 영향을 고려해야 합니다.

일반적으로 수요가 있을 때 QPS와 동시성 수를 평가하는데, 또 다른 차원인 일일 pv가 있습니다.

시스템의 접속 로그를 관찰한 결과, 사용자 수가 많을수록 각 시간대별 동일 시간대의 접속 트래픽이 거의 동일한 것으로 나타났습니다. 근무일의 매일 아침처럼. 일일 교통 지도와 QPS를 얻을 수 있다면 일일 교통량을 계산할 수 있습니다.

일반적인 기술적 방법:
시스템의 가장 높은 TPS와 일일 PV를 알아냅니다. 이 두 요소는 상대적으로 안정적인 관계를 갖습니다(휴일 및 계절 요인의 영향 제외).

스트레스 테스트 또는 실증적 추정을 통해 가장 높은 TPS를 얻은 다음 1의 관계를 따라 시스템의 일일 최고 처리량을 계산합니다. B2B 중국인과 타오바오는 서로 다른 고객 그룹에 직면해 있으며, 이 두 고객 그룹의 온라인 행동은 적용되지 않으며, 두 고객 그룹 간의 TPS와 PV 관계 비율도 다릅니다.

소프트웨어 성능 테스트의 기본 개념 및 계산 공식

소프트웨어 성능에 주목하라:
우선 소프트웨어를 개발하는 목적은 사용자가 그것을 사용하도록 하는 것이다.먼저 사용자의 관점에서 사용자가 주의해야 할 성능은 무엇인지 분석해보자.

사용자의 경우 버튼, 링크를 클릭하거나 명령을 내릴 때부터 시스템이 사용자가 인식하는 형식으로 결과를 표시할 때까지 걸리는 시간은 소프트웨어 성능에 대한 사용자의 직관적인 인상입니다.

이것이 우리가 응답 시간이라고 부르는 것입니다. 응답 시간이 작을수록 사용자 경험은 매우 좋습니다. 물론 사용자 경험의 응답 시간에는 개인적인 주관적 요소와 객관적인 응답 시간이 포함됩니다. 소프트웨어를 설계할 때 어떻게 해야 하는지 고려해야 합니다. 더 좋게 만드십시오. 이 두 부분을 결합하여 최상의 사용자 경험을 달성하십시오.

예를 들어, 사용자가 많은 양의 데이터를 쿼리하는 경우 추출된 데이터를 사용자에게 표시하고 사용자가 시청하는 동안 데이터 검색을 계속할 수 있습니다. 이때 사용자는 우리가 백그라운드에서 무엇을 하고 있는지 알 수 없습니다.

사용자가 중점을 두는 것은 사용자 작업의 해당 시간입니다.

둘째, 관리자 관점에서 주의가 필요한 성능 포인트를 고려합니다.
1. 응답시간
2. 서버 자원 활용의 적정성 여부
3. 애플리케이션 서버 및 데이터베이스 자원 활용의 적정성 여부 4.
시스템 확장 가능 여부
5. 시스템이 최대 몇 명의 사용자를 지원할 수 있는지, 시스템의 최대 업무 처리량
6. 시스템 성능 가능성 기존 병목 현상은 어디에 있습니까
?7. 성능 향상을 위해 어떤 장비를 교체할 수 있습니까
?8. 시스템이 7×24시간 비즈니스 액세스를 지원할 수 있습니까?

다시 한번 개발자(디자이너) 입장에서 생각해 보세요.
1. 아키텍처 설계가 합리적인지
2. 데이터베이스 설계가 합리적인지
3. 코드에 성능 문제가 있는지 4.
시스템에 무리한 메모리 사용량이 있는지 5. 시스템에 무리한 스레드 동기화 방법이 있습니까 ? 6. 시스템에
불합리한 스레드 동기화 방식이 있습니까

다음은 제가 편집한 2023년 가장 포괄적인 소프트웨어 테스팅 엔지니어 학습 지식 아키텍처 시스템 다이어그램입니다.

1. 파이썬 프로그래밍 입문부터 숙련까지

이미지 설명을 추가해주세요

2. 인터페이스 자동화 프로젝트의 실제 구현

이미지 설명을 추가해주세요

3. 웹 자동화 프로젝트 실전

이미지 설명을 추가해주세요

4. 앱 자동화 프로젝트의 실제 구현

이미지 설명을 추가해주세요

5. 1차 제조사의 이력서

이미지 설명을 추가해주세요

6. DevOps 시스템 테스트 및 개발

이미지 설명을 추가해주세요

7. 일반적으로 사용되는 자동화된 테스트 도구

이미지 설명을 추가해주세요

8. JMeter 성능 테스트

이미지 설명을 추가해주세요

9. 요약(마지막에 약간의 놀라움)

인내와 꿈의 추구, 그리고 투쟁은 목표를 달성하는 힘이다. 용감하게 전진하고, 한계를 뛰어넘고, 노력을 통해 빛나는 삶을 창조해 보세요. 자신의 능력을 믿고, 도전을 받아들이고, 계속해서 열심히 노력하면 자신만의 멋진 항해를 만들고 무한한 가능성을 열어갈 수 있습니다!

자신의 힘을 믿고 용기있게 전진하며, 투쟁은 꿈을 쫓는 원동력입니다. 인내하고, 자신을 뛰어넘고, 인생에서 장엄한 움직임을 구성하기 위해 노력을 기울이십시오. 도전을 받아들이고 앞으로 나아가십시오. 투쟁을 통해서만 자신만의 영광스러운 전설을 만들고 눈부신 별이 빛나는 삶의 하늘을 밝힐 수 있습니다!

꿈을 품고 여행을 떠나세요. 투쟁은 성공을 향한 원동력입니다. 용감하게 전진하고, 한계를 뛰어넘고, 땀을 흘리며 눈부신 성과를 거두세요. 자신의 가치를 믿고 도전하라, 끊임없는 투쟁만이 빛나는 삶을 창조하고 무한한 가능성을 꽃피울 수 있다!

추천

출처blog.csdn.net/m0_60054525/article/details/131982113