HTTP 서버/웹 응용 프로그램을 몇 번로드해야했고 매번 찾을 수있는 도구의 품질에 압도당했습니다.
따라서 HTTP 서버를로드 테스트 할 때 어떤 도구를 사용합니까? 그리고 다음에해야 할 때 가장 잘못했을 것들은 무엇입니까?
JMeter 는 무료입니다.
Mercury Interactive Load Runner는 매우 훌륭하고 비쌉니다.
현재 회사에서 웹 서버에 대한 25,000 개의 동시 연결 (온라인 광고 제공)을 시뮬레이트해야하므로이 질문에 대답 할 수있는 자격이 없습니다.
대용량로드 테스트의 경우 Httperf 가야합니다. 무료이며 경험상 JMeter 또는 STA이 동일한 하드웨어에서 더 많은 동시 연결을 시뮬레이션 할 수 있습니다.
궁금한 점이 있으시면 저전력, 저렴한 초소형 계수 Optiplex 330에서 초당 3500 건의 요청을 시뮬레이션합니다. Httperf 주문형. 이에 비해 JMeter는이 하드웨어에서 약 800-900 요청/초만 푸시 할 수있었습니다.
웹 서버에서 한 번에 단일 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는 놀랍고 엄청난 부하를 발생시킬 수있는 많은 테스트 장비로 확장 할 수 있습니다.
Erlang 기반 도구 인 Tsung 가 있습니다.
http://www.softwareqatest.com/qatweb1.html#LOAD 에는 정말 긴 도구 목록이 있습니다.
빠른 테스트를 위해 컬 시퀀스와 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
이에 대해서는 컬을 사용하여 웹 서버를 빠르게 스트레스 테스트하는 방법 에서 자세히 설명합니다.
다른 테스트를 설정해야합니다.
각 테스트 후/전에, 데이터베이스를 복원하고, 메모리를 정리하고 재부팅하기 위해 재부팅하여 이전과 같이 플랫폼을 되돌려 야합니다.
또한 예열 : 실제 테스트 전에 시나리오를 시작하여 웹 페이지가 컴파일되고 데이터베이스에 연결되도록 시나리오를 구현합니다. 그렇지 않으면 첫 번째 통화는 항상 통계에 좋지 않습니다.
다음과 같이 복잡성을 추가 할 수 있습니다.
마지막으로 중요한 것 : 완료된 모든 시나리오를 저장하여 정확히 동일한 방식으로 다시 만들 수 있도록해야합니다. 따라서 성능을 이전 테스트와 비교할 수 있습니다.
다중 연결을 처리하는 방법을 테스트하려는 경우 Siege 와 같은 것을 사용할 수 있습니다. 여전히 훌륭한 측정 방법인지 확실하지 않지만 적어도 여러 연결을 처리하는 방법을 알려줍니다.
openSTA 를 사용했습니다.
비교적 간단한 스크립트 언어를 사용합니다.
웹 서비스/서버를 쉽게 테스트하고 자체 스크립트를 작성할 수 있습니다.
스크립트를 원하는 방식으로 테스트에 배치하고 반복 횟수, 각 반복의 사용자 수, 각 새로운 사용자를 소개하기위한 램프 업 시간 및 각 반복 사이의 지연 시간을 구성 할 수 있습니다. 테스트는 나중에 예약 할 수도 있습니다.
오픈 소스이며 무료입니다.
스프레드 시트에 저장할 수있는 많은 보고서를 생성합니다. 그런 다음 피벗 테이블을 사용하여 결과를 쉽게 분석하고 그래프로 표시합니다.
전에 LoadRunner를 사용했지만 비용이 많이 들며로드 테스트를 수행하는 시스템이 포함 된 Microsoft Team Tester 에디션 도구도 사용했습니다. 도구의 작동 방식에 매우 만족했으며 .net을 사용하여 테스트를 확장 할 수 있습니다.이 구문은 LoadRunner보다 쉬운 구문입니다.
우리가 사용한로드 러너의 버전도 AJAX 사이트를 처리 할 수 없었습니다. (2000 년에 다시 시작되었으므로 도구는 지금까지 향상되었습니다)
우리는 WAPT 를 사용하며 아주 잘 작동합니다. 설정이 쉽고 수백 달러 만 가능합니다. LoadRUnner는 엄청나게 비싸고 Forutune 500을 제외한 모든 사람들에게 전혀 손이 닿지 않습니다.
시나리오가 얼마나 복잡한 지에 따라 다릅니다.
서버에서 실제 사용자로드를 올바르게 시뮬레이션하려면 사용자가 실제로 수행중인 작업을 시뮬레이션해야합니다. 사용자가 방금 URL로 서버를 방문하면 무료/간단한 도구가 가능합니다.
좀 더 복잡한 웹 사이트의 경우 동적 값 상관, 매개 변수화 등을 도와주는 도구를 사용하고 싶습니다. Load-Runner 등을 사용할 수 있습니다. WebLOAD =.