- siege website
- Speed testing your website with Siege: Part One
- Speed testing your website: part two
- Getting Started with Node.js + MySQL
설치
# debian, ubuntu sudo apt-get install siege # Mac Brew brew install siege
curl http://www.joedog.org/pub/siege/siege-latest.tar.gz -o siege-latest.tar.gz tar xvfz siege-latest.tar.gz cd siege-2.72 ./configure make make install
siege를 활용해서 모니터링 및 부하 테스트
홈 디텍토리에 siege.conf 설정
siege.config New configuration template added to /home/andrew/.siegerc Run siege -C to view the current settings in that file
siege -c1000 -t1M http://localhost:3000/socket.io ... ... HTTP/1.1 200 0.00 secs: 21 bytes ==> GET /socket.io Lifting the server siege... done. Transactions: 5329 hits Availability: 87.63 % Elapsed time: 29.73 secs Data transferred: 0.11 MB Response time: 0.00 secs Transaction rate: 179.25 trans/sec Throughput: 0.00 MB/sec Concurrency: 0.71 Successful transactions: 5329 Failed transactions: 752 Longest transaction: 0.04 Shortest transaction: 0.00 FILE: /usr/local/var/siege.log You can disable this annoying message by editing the .siegerc file in your home directory; change the directive 'show-logfile' to false. [error] unable to create log file: /usr/local/var/siege.log: No such file or directory
옵션
- -c : 동시 접속자 수
- -r : 반복 횟수
- -d : 각 사용자 요청 사이의 시간지연 0~10
- -d : 각각 요청의 결과를 보여준다.
결과 설명
- Transactions : 트랜젝션, 서버 히트 수. 동접 [-c25], 반복 [-r10] 이라면 트랜젝션은 250이 된다. 예상되는 히트 수보다 더 많이 나올 수 있다. siege는 리다이렉션이나 인증문제로 2개의 히트를 하나로 계산하지 않으며 이는 HTTP사용을 따르는 브라우저 동작을 모방한 것이다.
- Availability : 서버의 소켓연결이 성공한 백분율. 성공 횟수/연결시도 횟수*100 ( 400, 500 에러 제외)
- Elapsed time : 호출에서 트랜젝션 완료까지 시간
- Data transferred : 헤더를 포함한 트랜젝션 데이터 용량
- Response time : 평균 응답시간
- Transaction rate : 시간당 트랜젝션 수
- Throughput : 시간당 데이터 용량
- Concurrency : 동시연결 수, 서버성능이 감소하면 숫자는 커진다.
- Successful transactions : 트랜젝션 성공 횟수. 리턴코드 <400을 응답으로 받은 트랜젝션
- Failed transactions : <트랜젝션 실패 횟수, 리턴코드 >400을 응답으로 받은 트랜젝션
- Longest transaction : 단일(하나)의 트랜젝션중에서 가장 긴 시간
- Shortest transaction : 단일(하나)의 트랜젝션중 가장 짧은 시간
2 이상 사이트 속도 확인
vim urls.txt http://www.mywebsite.com/about-us/ http://www.mywebsite.com/contact-us/
siege -v -c10 --reps=once -d5 -f urls.txt
HTML 페이지 내의 css, js 자원을 포함한 테스트
urls.txt에 해당하는 모든 자원의 URL을 추가한 뒤 테스트 진행하면 된다.sproxy
Siege 제작자 Jeffrey Fulmer가 siege 와 같이 사용 할 수 있는 매우 간단한 프록시 프로그램 sproxy를 오픈했다.
프록시에 연결하는 웹사이트의 속도를 테스트한다.
curl http://www.joedog.org/pub/sproxy/sproxy-latest.tar.gz -o sproxy-latest.tar.gz tar xvfz sproxy-latest.tar.gz cd sproxy-1.02/ ./configure make sudo make install
설치 후 한번은 proxy 설정을 해야한다.
Preferences > Advanced > Network 'settings' 버튼
수동(Manual) 프록시 구성을 선택하고, 127.0.0.1:9001 입력
# sproxy 실행 sproxy SPROXY v1.02 listening on port 9001 ...appending HTTP requests to: /home/username/urls.txt # 이 파일에 저장된다. ...default connection timeout: 120 seconds # 브라우저에서 해당 URL을 Access한다. # 중지 ^C
/home/username/urls.txt
에 js, css, image를 확인한다. 구글분석기는 제거한다.
siege -c1 --reps=once -f urls.txt
으로 테스트한다.
bash로 사이트 확인
#! /bin/bash echo 'START' echo `date +%Y-%m-%d\ %H:%M:%S` while [ : ] do echo `date +%Y-%m-%d\ %H:%M:%S` `wget https://localhost/socket.io` sleep 5s done
반응형
'os > Linux' 카테고리의 다른 글
CentOS yum epel 저장소 에러 (0) | 2016.06.03 |
---|---|
CentOs "No package htop available." (0) | 2016.01.04 |
bashrc (0) | 2015.12.21 |
CentOS 6.7에서 yum install nodejs 에러 (4) | 2015.09.18 |
CentOS Minimal 설치 후 네트워크 잡기 (0) | 2015.09.15 |