Alex의 주요 기능
반복적인 스트레스 테스트를 위한 스트레스 테스트 매개변수 저장
이후 보기 및 공유를 위해 스트레스 테스트 보고서 저장
간단하고 직접적인 그래픽 및 텍스트 보고서 제공
동시에 여러 http 인터페이스에서 스트레스 테스트를 수행할 수 있습니다
클러스터의 여러 호스트:포트 쌍에서 동시에 스트레스 테스트를 수행할 수 있습니다
여러 세트를 사용합니다. 스트레스 테스트를 피하기 위해 매개변수 호출
단계 설정을 사용하여 점진적 압력 소스 생성
압력 테스트 기계의 시스템 상태에 대한 간단한 실시간 표시 기능 제공
Alex 제한 사항
Alex는 단일 프로세스에서 실행됩니다. 분산 스트레스 테스트 환경이 필요한 경우 스트레스 테스트 중에 여러 사람이 동시에 작업해야 합니다.
베지터는 압력에 과부하가 걸렸을 때 즉시 멈출 수 있는 방법을 제공하지 않습니다. 이를 위해서는 스트레스 테스트 단계를 신중하게 설계하고 시스템 과부하를 방지하기 위해 시스템 상태를 주의 깊게 관찰해야 합니다.
Qps와 동시성은 너무 커서는 안 됩니다. 한번은 Alex 도구를 사용하여 단일 프로세스에서 HelloWorld 웹 프로그램을 테스트한 적이 있습니다. 각 요청은 1,500바이트를 뱉어냈고, qps는 기본적으로 기가비트 네트워크 카드를 채우는 최대 60,000바이트에 도달할 수 있었습니다.
대규모 스트레스 테스트에서는 Gzip 압축 해제를 피하십시오. 압축 해제는 많은 CPU 리소스를 소비하며 부정확한 스트레스 테스트 보고서로 이어질 수 있습니다. 여러 노드를 배포하여 대규모 스트레스 테스트를 수행할 수 있습니다.
HTTP 프로토콜만 지원합니다. 암호화 및 암호 해독에도 많은 CPU 리소스가 소비되어 보고가 부정확해지기 때문에 HTTPS 프로토콜은 지원되지 않을 예정입니다.
보고서는 성과에 대한 참고자료일 뿐이므로, 보고서에 대해 의문을 제기할 만큼 용기가 있어야 합니다.
알렉스에는 많은 제한이 있지만 일상적인 사용에는 영향을 미치지 않습니다.
설치
install mongodb install golang # 1.4+ is required go get github.com/go-martini/martini go get github.com/tsenart/vegeta go get gopkg.in/mgo.v2 go get github.com/shirou/gopsutil # godep restore git clone https://github.com/shellquery/alex.git cd alex go build ./alex ./alex -c config.json open browser http://localhost:8000/
config.json 구성
{ "BindAddr": "localhost:8000", "MongoUrl": "mongodb://localhost:27017/alex", "Teams": [ "python", "java", "php", "go" ] }