Siege는 오픈 소스 회귀 테스트 및 벤치마크 유틸리티입니다. 사용자가 정의한 시뮬레이션 사용자 수로 단일 URL을 스트레스 테스트하거나 많은 URL을 메모리로 읽어 들여 동시에 스트레스를 줄 수 있습니다. 프로그램은 기록된 총 적중 수, 전송된 바이트, 응답 시간, 동시성 및 반환 상태를 보고합니다. Siege는 HTTP/1.0 및 1.1 프로토콜, GET 및 POST 지시문, 쿠키, 트랜잭션 로깅 및 기본 인증을 지원합니다. 해당 기능은 사용자별로 구성할 수 있습니다.
대부분의 기능은 프로그램 호출의 복잡성을 최소화하기 위해 기본값도 포함하는 명령줄 옵션을 사용하여 구성할 수 있습니다. Siege를 사용하면 n 사용자 수 t 횟수로 웹 서버에 스트레스를 줄 수 있습니다. 여기서 n과 t는 사용자가 정의합니다. 테스트 기간과 각 단일 트랜잭션의 기간을 기록합니다. 트랜잭션 수, 경과 시간, 전송된 바이트, 응답 시간, 트랜잭션 속도, 동시성 및 서버가 OK로 응답한 횟수(상태 코드 200)를 보고합니다.
Siege는 Armstrong World Industries의 웹마스터인 Jeffrey Fulmer가 설계하고 구현했습니다. 이는 부분적으로 Lincoln Stein의 Torror.pl을 모델로 했으며 데이터 보고는 거의 동일합니다. 그러나 Torror.pl은 동시에 많은 URL을 강조하는 것을 허용하지 않습니다. 그 필요로 인해 포위 공격이 탄생했습니다....
HTTP 서버가 프로그램에 의해 공격당하면 "포위 공격을 받고 있다"고 합니다.
Siege는 웹 개발자와 웹 시스템 관리자 모두를 위해 작성되었습니다. 이를 통해 개인은 강압적인 상황에서 자신의 프로그램과 시스템을 테스트할 수 있습니다. 웹 전문가로서 귀하는 제품의 무결성에 대한 책임이 있지만 누가 제품에 액세스하는지 통제할 수는 없습니다. 트래픽 급증은 언제든지 발생할 수 있습니다. 준비가 되었는지 어떻게 알 수 있나요?
Siege를 사용하면 이러한 프로그램을 협박에 노출시켜 해당 프로그램이 감당할 수 있는 부하를 더 잘 이해할 수 있습니다. 귀하의 사이트가 현재 최대 250개에 달하는 경우 귀하의 사이트가 400개의 동시 트랜잭션을 견딜 수 있다는 것을 알면 더 편해질 것입니다.
트랜잭션의 특징은 서버가 클라이언트를 위해 소켓을 열고, 요청을 처리하고, 유선을 통해 데이터를 제공하고, 완료 시 소켓을 닫는 것입니다. 인간 인터넷 사용자는 자신에게 돌아온 데이터를 소화하는 데 시간이 걸린다는 점에 유의하는 것이 중요합니다. 공성 사용자는 그렇지 않습니다. 실제로 나는 400명의 동시 포위 공격 사용자가 실제 인터넷 세션에서 그 양의 5배 이상에 해당한다는 것을 발견했습니다. 이것이 siege를 사용하여 지연( --delay=NUM )을 설정할 수 있는 이유입니다. 설정되면 각 Siege 사용자는 1에서 NUM 사이의 임의 시간(초) 동안 잠을 자게 됩니다. 서버 로그를 통해 페이지에서 보낸 평균 시간을 확인할 수 있습니다. 인터넷 활동을 시뮬레이션할 때 지연을 위해 해당 번호를 사용하는 것이 좋습니다.
최신 버전의 Siege는 익명 FTP(http://download.joedog.org/siege/siege-latest.tar.gz)를 통해 얻을 수 있습니다.
소스 저장소는 GitHub에 있습니다: git clone https://github.com/JoeDog/siege.git
여기 브라우저에서 볼 수 있습니다: https://github.com/JoeDog/siege
업데이트 및 공지사항은 JoeDog(http://www.joedog.org/)를 통해 배포됩니다.
Siege는 GNU autoconf로 구축되었습니다. GNU 소프트웨어에 익숙하다면 siege 설치에 익숙할 것입니다. 자세한 내용은 INSTALL 파일을 참조하십시오.
HTTPS 지원을 활성화하려면 시스템에 openssl과 openssl-devel을 모두 설치해야 합니다.
gzip 전송 인코딩을 활성화하려면 시스템에 zlib 및 zlib-devel이 모두 설치되어 있어야 합니다.
모든 필수 구성 요소는 컴파일 타임에 설치되어야 합니다. siege가 컴파일된 후 라이브러리를 추가하는 경우 ./configure를 실행하고 make와 make install을 다시 실행해야 합니다.
Siege 전제 조건은 종속성이 아닙니다. 이러한 라이브러리가 없으면 응용 프로그램은 계속 컴파일되고 작동합니다. 단순히 이러한 기능을 포함하지 않습니다.
문서는 매뉴얼 페이지에서 볼 수 있습니다. siege(1) lookingsiege(1) 이 배포판에는 html 매뉴얼이 포함되어 있습니다: manual.html
포위 공격에 대한 전체 문서는 www.joedog.org에서 찾을 수 있습니다.
전체 라이센스 정보는 COPYING 파일을 참조하세요.
저작권(C) 2000-2023 by Jeffrey Fulmer [email protected]
저작권 표시와 이 허가 표시가 보존되어 수신자에게 차례로 재배포할 수 있는 권한을 부여하는 경우 모든 매체에서 이 문서의 문자 그대로 사본을 만들거나 배포할 수 있는 권한이 누구에게나 부여됩니다.
위의 조건에 따라 이 문서의 수정된 버전이나 그 일부를 배포할 수 있는 권한이 부여됩니다. 단, 마지막으로 변경한 사람을 명시한 눈에 띄는 공지가 있어야 합니다.
또한 저작권 보유자는 특별한 예외로서 각 개별 소스 파일에 설명된 특정 조건 하에서 본 프로그램의 일부 코드를 OpenSSL 라이브러리와 연결하고, 두 가지를 포함한 연결된 조합을 배포하는 것을 허용합니다.
OpenSSL 이외의 모든 코드에 대해 모든 측면에서 GNU General Public License를 준수해야 합니다. 이 예외가 있는 파일을 수정하는 경우 이 예외를 해당 파일 버전으로 확장할 수 있지만 그렇게 할 의무는 없습니다.
이를 원하지 않으면 귀하의 버전에서 이 예외문을 삭제하십시오. 프로그램의 모든 소스 파일에서 이 예외문을 삭제하는 경우 여기에서도 삭제하세요.