Apache Bench-개요

성능 테스트는 비즈니스의 성공에 매우 중요합니다. 실적이 저조한 사이트는 재정적 손실을 입을뿐만 아니라 때때로 법적 영향을 미칠 수 있습니다.

구매, 온라인 시험 응시, 청구서 지불 등과 같은 중요한 온라인 상호 작용에서 성능이 느리고 신뢰할 수없는 사이트를 견디고 싶어하는 사람은 없습니다. 인터넷이 널리 사용됨에 따라 대안의 범위는 엄청납니다. 고객을 얻는 것보다 고객을 잃는 것이 더 쉬우 며 성능은 핵심 게임 체인저입니다.

부하 테스트 도구의 필요성

부하 테스트 도구의 필요성을 이해할 수 있다면이를 사용하는 이유와 동기를 얻을 수 있습니다. 일부 유명 비즈니스 사이트는 많은 방문자가 유입되면서 심각한 다운 타임을 겪었습니다. 전자 상거래 웹 사이트는 광고 캠페인에 많은 투자를하지만 부하 테스트에는 투자하지 않습니다. 따라서 마케팅이 트래픽을 가져올 때 최적의 시스템 성능을 보장하지 못합니다.

부하 테스트를 무시하는 또 다른 익숙한 예는 WordPress 웹 사이트의 "연결 설정 오류"입니다. 따라서 프로덕션에 배포하기 전에 웹 사이트 또는 응용 프로그램을로드 테스트하는 것이 좋습니다. 더 자세한 테스트를 진행하기 전에 프로젝트에 대한 최상의 시나리오를 신속하게 설정하는 것이 좋습니다.

Apache Bench는 무엇입니까?

Apache Bench (ab)는 HTTP (Hypertext Transfer Protocol) 웹 서버를 벤치마킹하기위한 Apache 조직의 도구입니다. Apache 웹 서버의 성능을 측정하도록 설계되었지만 똑같이 좋은 다른 웹 서버를 테스트하는데도 사용할 수 있습니다. 이 도구를 사용하면 웹 서버가 처리 할 수있는 초당 요청 수를 빠르게 알 수 있습니다.

Apache Bench의 기능

Apache Bench의 중요한 기능과 제한 사항을 살펴 보겠습니다. 기능과 제한 사항은 다음과 같습니다.

  • 오픈 소스 소프트웨어이므로 자유롭게 사용할 수 있습니다.

  • 간단한 명령 줄 컴퓨터 프로그램입니다.

  • 플랫폼에 독립적 인 도구입니다. 이는 Linux / Unix 또는 Windows 서버에서 동일하게 호출 될 수 있음을 의미합니다.

  • 웹 서버 (HTTP 또는 HTTPS)에 대해서만 부하 및 성능 테스트를 수행 할 수 있습니다.

  • 확장 할 수 없습니다.

Apache Bench는 동시성 수준 (-c 플래그로 지정됨)에 관계없이 하나의 운영 체제 스레드 만 사용합니다. 따라서 고용량 서버를 벤치마킹 할 때 Apache Bench의 단일 인스턴스 자체가 병목 현상이 될 수 있습니다. 대상 URL을 완전히 포화 시키려면 서버에 여러 프로세서 코어가있는 경우 Apache Bench의 추가 인스턴스를 병렬로 사용하는 것이 좋습니다.

예방법

테스트를 실행하는 동안 특정 간격으로 동시성을 높이기위한 지시문이 Apache Bench에 없음을 알고 있어야합니다. 따라서 ab를 사용하여 부하 테스트를 실행하는 것은 서비스 거부 (DOS) 공격과 동일합니다. 장기간 고부하 테스트를 수행 할 경우 VPS 서비스 제공 업체에 알리고 사전 승인을받는 것이 좋습니다. 적절한 시간 간격을 할당하거나 부하 테스트 작업을 위해 노드를 이동합니다.

둘째, VPS (테스트 노드가 됨)에서 Apache Bench를 배우기 위해 제 3 자의 웹 사이트를 지속적으로 오랫동안 테스트하는 경우, 제 3 자의 웹 사이트에 의해 VPS 공용 IP가 차단 될 수있는 원격 가능성이 있습니다. 영구적으로. 이 경우 동일한 IP로 해당 웹 사이트에 연결할 수 없습니다. 그러나 나중에 웹 사이트에 실제로 연결하려는 경우 유일한 솔루션은 대상 웹 사이트의 시스템 관리자에게 문의하거나 VPS 서비스 공급자의 도움을 받아 다른 IP로 서버의 새 인스턴스를 만드는 것입니다.

경고했듯이,이 튜토리얼의 모든 테스트는 시스템 관리자가 일반적으로 "시스템 남용"관행이라고 부르는 것에서 충분히 안전하다는 것을 확신합니다.