it-swarm-ko.tech

HTTP 서버로드 테스트 도구?

HTTP 서버/웹 응용 프로그램을 몇 번로드해야했고 매번 찾을 수있는 도구의 품질에 압도당했습니다.

따라서 HTTP 서버를로드 테스트 할 때 어떤 도구를 사용합니까? 그리고 다음에해야 할 때 가장 잘못했을 것들은 무엇입니까?

39
David Wolever

JMeter 는 무료입니다.

Mercury Interactive Load Runner는 매우 훌륭하고 비쌉니다.

24
Chad Grant

현재 회사에서 웹 서버에 대한 25,000 개의 동시 연결 (온라인 광고 제공)을 시뮬레이트해야하므로이 질문에 대답 할 수있는 자격이 없습니다.

대용량로드 테스트의 경우 Httperf 가야합니다. 무료이며 경험상 JMeter 또는 STA이 동일한 하드웨어에서 더 많은 동시 연결을 시뮬레이션 할 수 있습니다.

편집하다:

궁금한 점이 있으시면 저전력, 저렴한 초소형 계수 Optiplex 330에서 초당 3500 건의 요청을 시뮬레이션합니다. Httperf 주문형. 이에 비해 JMeter는이 하드웨어에서 약 800-900 요청/초만 푸시 할 수있었습니다.

21
Portman

웹 서버에서 한 번에 단일 URL로로드를 수행하려면 Apache AB를 다운로드하십시오. Apache HTTP 서버와 함께 제공됩니다.

간단한 명령

ab -n 10000 -c 10 http://serverfault.com/questions/2107/tools-for-load-testing-http-servers

10 명의 동시성으로 10000 개의 요청을 실행합니다.

브라우징 세션을 기록하려면 upvote로 이동하여 jmeter 답변을 수락하십시오. Jmeter는 놀랍고 엄청난 부하를 발생시킬 수있는 많은 테스트 장비로 확장 할 수 있습니다.

20
Stewart Robinson

Erlang 기반 도구 인 Tsung 가 있습니다.

http://www.softwareqatest.com/qatweb1.html#LOAD 에는 정말 긴 도구 목록이 있습니다.

8
Jauder Ho

빠른 테스트를 위해 컬 시퀀스와 URL 세트를 사용할 수 있습니다. 예를 들어 우리가 실행할 수있는 Google에 대해 부하 스트레스 테스트를 실행한다고 가정 해보십시오 ...

curl -s "http://google.com?[1-1000]"

이렇게하면 Google에 1000 번 전화를 걸 것입니다.

http://google.com?1  
http://google.com?2  
http://google.com?3 
... 
http://google.com?1000

이에 대해서는 컬을 사용하여 웹 서버를 빠르게 스트레스 테스트하는 방법 에서 자세히 설명합니다.

6
Ian Purton

다른 테스트를 설정해야합니다.

  • 정상적인 테스트는 사용자가 행동하는 것처럼 시뮬레이션합니다. 당신은 생각 시간을 구현할 것입니다 (페이지 사이에 http fury 1s 없음). 한 가지 방법은 웹 세션을 기록하는 것이므로 각 페이지를 완료/읽는 현실적인 시간이 있습니다. 생산에서 평균 전류 부하에 도달 할 때까지 단계적으로 부하가 발생합니다.
  • 파열 테스트 : 이전과 동일하지만 첫 번째 http 500 오류가 발생할 때까지로드를 추가하십시오. 목표는 고장날 때까지 얼마나 많은 부하를 관리 할 수 ​​있는지 아는 것입니다.
  • 장기 시험. 첫 번째 시나리오를 12 시간 동안 계속 실행하여 시간이 지남에 따라 메모리 누수 나 성능 저하가 발생하지 않도록합니다.

각 테스트 후/전에, 데이터베이스를 복원하고, 메모리를 정리하고 재부팅하기 위해 재부팅하여 이전과 같이 플랫폼을 되돌려 야합니다.

또한 예열 : 실제 테스트 전에 시나리오를 시작하여 웹 페이지가 컴파일되고 데이터베이스에 연결되도록 시나리오를 구현합니다. 그렇지 않으면 첫 번째 통화는 항상 통계에 좋지 않습니다.

다음과 같이 복잡성을 추가 할 수 있습니다.

  • 다르게 작동하는 다른 시나리오 (방문자/손님, 회원)를 사용하십시오.
  • 다른 대역폭 액세스 시뮬레이션
  • 검색된 단어를 무작위 화하고 시간을 생각하십시오.

마지막으로 중요한 것 : 완료된 모든 시나리오를 저장하여 정확히 동일한 방식으로 다시 만들 수 있도록해야합니다. 따라서 성능을 이전 테스트와 비교할 수 있습니다.

5
Mathieu Chateau

다중 연결을 처리하는 방법을 테스트하려는 경우 Siege 와 같은 것을 사용할 수 있습니다. 여전히 훌륭한 측정 방법인지 확실하지 않지만 적어도 여러 연결을 처리하는 방법을 알려줍니다.

2
trent

openSTA 를 사용했습니다.

비교적 간단한 스크립트 언어를 사용합니다.

웹 서비스/서버를 쉽게 테스트하고 자체 스크립트를 작성할 수 있습니다.

스크립트를 원하는 방식으로 테스트에 배치하고 반복 횟수, 각 반복의 사용자 수, 각 새로운 사용자를 소개하기위한 램프 업 시간 및 각 반복 사이의 지연 시간을 구성 할 수 있습니다. 테스트는 나중에 예약 할 수도 있습니다.

오픈 소스이며 무료입니다.

스프레드 시트에 저장할 수있는 많은 보고서를 생성합니다. 그런 다음 피벗 테이블을 사용하여 결과를 쉽게 분석하고 그래프로 표시합니다.

2
nzpcmad

전에 LoadRunner를 사용했지만 비용이 많이 들며로드 테스트를 수행하는 시스템이 포함 된 Microsoft Team Tester 에디션 도구도 사용했습니다. 도구의 작동 방식에 매우 만족했으며 .net을 사용하여 테스트를 확장 할 수 있습니다.이 구문은 LoadRunner보다 쉬운 구문입니다.

우리가 사용한로드 러너의 버전도 AJAX 사이트를 처리 할 수 ​​없었습니다. (2000 년에 다시 시작되었으므로 도구는 지금까지 향상되었습니다)

1
JoshBerke

우리는 WAPT 를 사용하며 아주 잘 작동합니다. 설정이 쉽고 수백 달러 만 가능합니다. LoadRUnner는 엄청나게 비싸고 Forutune 500을 제외한 모든 사람들에게 전혀 손이 닿지 않습니다.

1
rmalayter

시나리오가 얼마나 복잡한 지에 따라 다릅니다.

서버에서 실제 사용자로드를 올바르게 시뮬레이션하려면 사용자가 실제로 수행중인 작업을 시뮬레이션해야합니다. 사용자가 방금 URL로 서버를 방문하면 무료/간단한 도구가 가능합니다.

좀 더 복잡한 웹 사이트의 경우 동적 값 상관, 매개 변수화 등을 도와주는 도구를 사용하고 싶습니다. Load-Runner 등을 사용할 수 있습니다. WebLOAD =.

0
Yasei No Umi