>운영 및 유지보수 >안전 >웹 성능 테스트에서 흔히 발생하는 문제는 무엇입니까?

웹 성능 테스트에서 흔히 발생하는 문제는 무엇입니까?

PHPz
PHPz앞으로
2023-05-26 11:22:551428검색

1. 현재 jmeter를 공부하고 있는데, 초기에는 성능적으로 무엇부터 시작해야 할까요?

Jmeter와 LR은 현재 성능 테스트에 선호되는 도구입니다. LR에 대한 학습 배경이 있다면 Jmeter를 빠르게 시작할 수 있습니다. 프로세스는 LR과 유사합니다. 그렇지 않다면 입문적인 관점에서 먼저 일반적인 네트워크 프로토콜과 운영 체제 스레드 및 프로세스의 개념을 이해하는 것이 좋습니다. Java는 Jmeter에 이상적이며 몇 가지 프로그래밍 기본 사항을 이해하는 것을 고려할 수 있습니다. 추신: 사실 Jmeter를 사용하여 인터페이스 테스트를 먼저 배우면 성능에 대해 더 잘 이해할 수 있습니다.

2. 지식이 전혀 없는 컴퓨터 하드웨어 전문가인데 이 업계로 전환하려면 어떤 준비를 해야 하나요?

컴퓨터 하드웨어에는 이미 기본적인 컴퓨터 지식이 갖추어져 있습니다. 소프트웨어 이전은 비교적 쉽습니다. 다음 차원에서 준비하는 것을 고려해 볼 수 있습니다.

1) 먼저 자신이 잘하는 네트워크 및 운영 체제 부분을 준비하십시오. 애플리케이션 레이어 프로토콜. 성능 및 인터페이스 테스트는 주로 테스트 환경을 구축하는 것입니다.

2) 프로그래밍 언어에 능숙할 필요는 없습니다. , 최소한 간단한 스크립트는 작성할 수 있어야 합니다

3) 종합적인 전문 소프트웨어 테스팅 서적을 찾아서 집중적으로 읽어야 합니다.

4) 가능하다면 연습할 프로젝트를 찾아서 기능 테스트부터 시작하는 것이 가장 좋습니다

3. 현재 인터페이스 테스트를 진행하고 있는데, 계속해서 헷갈릴 수 있으니 몇 가지 제안해 주시면 좋겠습니다. 또, 경영을 할 때 직원을 대해야 하는 일반적인 태도나 자세는 어떤가요? 교육 방법, 적응 방법, 작업 할당 방법, 프로젝트 진행 상황 및 품질 관리 방법은 무엇입니까?

이것은 큰 문제입니다. 몇 가지 핵심 사항을 골라 보겠습니다.

1) 인터페이스 테스트는 실제로 프로토콜 테스트이므로 네트워크 프로토콜부터 시작하는 것이 좋습니다. 인터페이스 테스팅

2) 테스트 관리 업무는 사람마다 다르기 때문에 선천적으로 강인한 사람도 있지만, 좀 더 평화로운 사람도 있는 것 같아요. 온 가족이 곰이 많다는 말이 있습니다. 자세가 중요한 것이 아니라 실체가 중요하다는 것입니다.

3) 훈련, 어울리기, ​​업무 할당에 있어서는 자신의 장점을 활용하여 단점을 보완하는 것이 일반적인 생각이며, 대부분은 자신이 자신보다 낫다고 생각합니다. 모든 직원이 최선을 다하도록 하세요. 최고의 가치와 성취감을 더욱 중요하게 생각합니다.

4) 프로젝트 진행 및 품질 제어 방법의 문제입니다. 테스트 버전 제어, 결함 분석 및 기타 수단 등 소프트웨어 엔지니어링, Agile 프로세스 등에 대한 정보를 참조할 수 있습니다. 도움이 되었기를 바랍니다

4. 스트레스 테스트에 Loadrunner를 사용할 경우 응답 시간이 실제 응답 시간보다 훨씬 길어집니다. 스트레스 테스트에 LR을 사용할 경우 실제 링크를 수동으로 여는 데 걸리는 평균 응답 시간은 수십 초입니다. 1초도 안 되는 시간인데, 이는 큰 격차입니다. 이 문제가 발생하는 이유는 무엇입니까?

예를 들어 아래 그림에는 Vuser가 12명밖에 없고 응답 시간도 10초에 불과합니다. 하지만 실제 경험은 여전히 ​​매우 빠릅니다.

초기 추측은 응답 시간이 잘못 설정되었다는 것입니다. 예를 들어 로그인 스크립트를 기록하고 로그인 응답 시간을 LR 스크립트에 삽입합니다. , 결과는 다음과 같습니다. 응답 시간은 5초인데 실제로 로그인할 때 1초라는 느낌이 들지 않습니다. 그렇다면 사용자 이름과 비밀번호를 입력하는 시간을 포함하여 함수의 위치가 잘못되었을 수 있습니다. , 또는 응답 시간 기능에 사고 시간이 포함될 수도 있습니다. 전자 트랜잭션의 위치를 ​​조정하거나 후자 런타임 설정에서 인지 시간을 제외해야 합니다. 참고로

5. 프로그램의 페이지 요소를 캡쳐하는 방법을 알려주실 수 있나요? Selenium 웹과 같은 페이지 요소를 캡처하시겠습니까? 좋은 도구나 방법이 있나요?

페이지 요소를 캡처하려면 Chrome 개발자 도구의 요소 옵션을 사용하는 것이 좋습니다. Selenium을 사용하는 것 외에도 자동화된 테스트를 위해 QTP(ALM)를 사용하는 것도 고려할 수 있습니다

6. 소프트웨어 피로 테스트는 어떻게 수행해야 합니까?

일반적으로 압력 테스트는 프로젝트 및 비즈니스에 따라 달라지며, 하나는 4H 피크 압력의 80%이고 압력은 60%로 제어될 수 있습니다. -70%. 7*24시간도 있습니다(일부 압력은 50%로 일정하고 일부는 시간이 지남에 따라 압력 값이 변동함)

7. 스트레스 테스트를 수행하기 전에 준비해야 할 사항은 무엇입니까? B/S 시스템? 시스템을 객관적으로 분석하는 방법은 무엇입니까? 예전에는 스트레스 테스트 도구로만 Loadrunner를 접해봐서 Loadrunner를 사용하려고 하는데 그 안에서 해야할 시스템 표시기 설정이 많이 귀찮은 것 같고, 시스템을 분석하는 방법을 모릅니다. 익숙한 도구를 선택하는 것 외에 스트레스 테스트를 수행하기 전에 어떤 준비가 필요합니까?

귀하의 질문을 한두 문장으로 명확하게 설명하기는 어렵습니다. 사전 준비 작업에 대해서는 성능 테스트 프로젝트에 대한 저의 겸손한 의견만 이야기할 수 있습니다.

1) 먼저 요구 사항에 대한 사전 분석을 수행하고 결정합니다. 어떤 링크가 성능 테스트가 필요한지. 시스템이 가장 스트레스를 받는 부분입니다

2) 기존 리소스를 살펴보고 환경을 미리 준비하는 것이 가장 좋습니다. 할 수 없으니 최대한 가깝게 접근해 보세요. 이것은 매우 중요합니다. 그렇지 않으면 비례 변환을 해야 합니다.)

3) 테스트 중인 시스템에서 사용하는 프로토콜과 다음과 같은 다양한 구성을 살펴보세요. 운영 체제 및 애플리케이션 서버를 선택하고 일치하는 테스트 도구를 선택합니다(대부분의 WEB 시스템 LR이 이를 처리할 수 있음)

4) 시간을 보세요. 대부분의 경우 성능 테스트를 할 시간이 부족하므로 먼저 테스트에 집중해야 합니다.

8. Loadrunner와 Jmeter 중에서 선택하는 방법은 무엇입니까?

기분에 따라 다르죠 농담이죠~~ 코드와 네트워크 기본을 학습과 시작의 관점에서 보면, 코드와 네트워크 기본이 좋으면 그냥 Jmeter를 사용해서 시작하고, 그렇지 않으면 시작하려면 LR을 사용하는 것이 좋습니다. 엔터프라이즈 애플리케이션의 관점에서 어느 것이 더 적합하고 테스트 중인 시스템에 대해 더 나은 지원을 제공합니까?

도구는 단지 형식일 뿐입니다. 성능 테스트의 기본 원리를 이해하기 위해 어떤 도구든 사용할 수 있습니다.

9. Java에서 잦은 GC 문제를 찾는 방법은 무엇입니까?

프로파일러를 사용하여 짧은 시간에 너무 많은 객체 생성이나 대규모 객체 생성 등의 메모리 이상을 찾아보세요.

10. 50명의 사용자가 동시에 로그인할 수 있도록 구현하고 싶습니다. 그런 다음 로그인 기능 앞에 랑데부 포인트 기능을 추가했습니다. -사용자가 로그인한 후 반환되는 시간은 1분당 1개입니다. 동시에 로그인하지 않았습니다! 내게 이유를 말해줘? 어떻게 해결하나요?

먼저 미팅포인트를 없애는 건 어떨까요? 50명의 사용자가 동시에 병렬로 시작합니다.(집결지 설정 없이 동시 작업이 가능합니다.) 그래도 1분 동안 지속되면 트랜잭션 시간과 사고 시간을 수동으로 구성해야 합니다. 생각 시간은 기본적으로 시작 상태입니다. 런타임 설정에서 확인할 수 있습니다. 최종적으로 얻는 1분은 전체 스크립트가 한 번 실행되는 시간이거나 결과에 생각 시간이 포함되는 경우도 있습니다. 동시에 출근할 시간.

11. 전자상거래 플래시 세일 제품은 어떻게 테스트되나요?

다른 제품의 테스트와 크게 다르지 않습니다. 주된 이유는 시점 요구 사항이 상대적으로 높기 때문입니다. 동시성을 달성하기 위해 성능 테스트 스크립트에서 랑데부 포인트 기능을 사용하는 것을 고려할 수 있습니다.

12. 스트레스 테스트와 성능 테스트는 동일한가요?

분류 방법이 다르며 최종 결론은 없습니다. 일반적으로 성능 테스트는 이러한 유형의 테스트를 가리키는 일반적인 용어입니다. 저는 다음과 같은 분류 방법을 선호합니다

성능 테스트(좁은 의미) - 성능 테스트 방법은 특정 환경에서 생산 작업의 비즈니스 압력과 사용 시나리오의 조합을 시뮬레이션하여 시스템 성능이 생산 성능 요구 사항을 충족하는지 테스트하는 것입니다. 운영 환경.

벤치마크 테스트 - 특정 소프트웨어, 하드웨어 및 네트워크 환경에서 하나 이상의 서비스를 실행하는 특정 수의 사용자를 시뮬레이션하고 테스트 결과를 후속 테스트 활동에서 참조할 기준 데이터로 사용합니다.

부하 테스트 - "응답 시간"이 미리 결정된 지표를 초과하거나 특정 리소스가 포화 상태에 도달하는 등 성능 지표가 한계에 도달할 때까지 테스트 중인 시스템에 대한 압력을 지속적으로 증가시킵니다.

스트레스 테스트 - 스트레스 테스트는 강도 테스트라고도 합니다. 주로 CPU와 메모리가 포화된 경우 등 특정 포화 상태에서 시스템이 처리할 수 있는 세션 용량과 시스템에 오류가 발생할지 여부를 테스트합니다. 참고: 약 80%의 제한 값에서 2~4시간 동안 계속 실행합니다. 구성 테스트 - 구성 테스트 방법은 시스템의 소프트웨어 및 하드웨어 환경을 조정하여 다양한 요소가 시스템 성능에 미치는 영향 정도를 이해하는 것입니다. 테스트를 통해 다양한 시스템 자원의 최적 할당 원리를 찾습니다.

신뢰성 테스트 - 시스템에 특정 비즈니스 압력이 가해지면 일정 시간 동안 시스템을 실행하여 시스템이 안정적인지 확인합니다.

동시성 테스트 - 동시성 테스트 방법은 여러 사용자가 동일한 애플리케이션, 동일한 모듈 또는 데이터 레코드에 동시에 액세스할 때 교착 상태 또는 기타 성능 문제가 있는지 테스트하기 위해 동시 사용자 액세스를 시뮬레이션합니다.

PS: 분류는 실제로 그다지 중요하지 않습니다. 실제 프로젝트에서는 혼합 애플리케이션인 경우가 많습니다

13. 동시 로그인 외에 웹 성능 테스트를 위한 더 일반적인 테스트 시나리오는 무엇입니까?

비즈니스에 따라 시나리오가 달라집니다. 예를 들어 전자상거래 웹사이트의 경우 동시에 주문하는 상황을 테스트해야 하나요?; 의사번호 출처, 은행인 경우 시스템은 동시에 여러 사람이 돈을 인출하는 것을 고려해야 합니다.

14. 일반적인 웹사이트는 수백만 명의 사용자에게 얼마나 큰 부담을 줍니까?

이는 계산 방법에 따라 다릅니다. 100만/일 비즈니스 방문을 1초로 나눈 이론적인 값은 매우 적지만 실제 상황과 일치하지 않습니다.

온라인 데이터에 따르면 매일 피크 기간 수와 해당 동시 사용자 수를 직접 계산할 수 있습니다.

시스템이 온라인이 아닌 경우 2/8 원칙을 사용하면 80%의 사용자가 집중됩니다. 20%의 시간 안에 비즈니스 방문 횟수를 추론합니다.

15. 현재 8g 및 i3으로 구성된 win7 시스템에서 스트레스 테스트를 실행하면 항상 이상 현상, 시간 초과가 발생합니다. 항상 140쯤 되면 다른 문제가 발생합니다. 어떻게 해야 하나요? 분석해 보니 서버 문제인가요, 아니면 컴퓨터 문제인가요?

서버 압력이 증가하지 않는 경우 다음 차원에서 분석할 수 있습니다.

네트워크 트래픽에 제한이 있는지,

데이터베이스/애플리케이션 서버가 예외를 보고하는지 여부, 그렇다면 로그를 확인하세요.

운영체제, CPU의 리소스 모니터링 상태를 확인하세요. 점유율이 100%에 도달했는지, 코드에 성능 문제가 있는지 확인해보세요. 사업상의 이상.

위 내용은 웹 성능 테스트에서 흔히 발생하는 문제는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제