웹마스터 팁

다아시는 내용 인지는 모르겠지만 없는것 같아서 올립니다.

레드햇에는 rpm으로 제공되는 아파치 성능 측정툴이 있습니다. 튜닝시에 사용 하면 유용 합니다.

다음은 동시접속수 10 ( -c 옵션 ), 10번 접속 ( -n 옵션) 해서 나오는 ab 의 샘플 입니다.
이 옵션값을 적당하게 조절해서 퍼포먼스가 얼마인지 측정해 보면 되겠습니다.

( 서버는 편집하여 고친 겁니다.  kr.yahoo.com 으로 .. 오해 없으시기를 .. )

# ab -n 10 -c 10 http://kr.yahoo.com/

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.116 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking kr.yahoo.com (be patient).....done

Server Software:        Apache/1.3.19              ; 아파치 버젼을 보여 줍니다.
Server Hostname:        kr.yahoo.com
Server Port:            80                                  ; 포트가 80이 아닐경우 옵션을 주어야 합니다.

Document Path:          /
Document Length:        36043 bytes

Concurrency Level:      10
Time taken for tests:   1.801191 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      363330 bytes
HTML transferred:       360430 bytes
Requests per second:    5.55 [#/sec] (mean)
Time per request:       1801.191 [ms] (mean)
Time per request:       180.119 [ms] (mean, across all concurrent requests)
Transfer rate:          196.54 [Kbytes/sec] received

Connection Times (ms) ; 밀리세컨드 단위로 접속 통계를 보여 줍니다.
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:  1300 1657 144.9   1713    1800
Waiting:      622  849 163.5    889    1135
Total:       1300 1657 144.9   1713    1800

Percentage of the requests served within a certain time (ms)
  50%   1713
  66%   1733
  75%   1747
  80%   1775
  90%   1800
  95%   1800
  98%   1800
  99%   1800
100%   1800 (longest request)

----------------------------------------------------------------------------
ab 툴을 이용해서 간편하게 웹서버의 성능을 알아 볼수 있습니다. 너무 쉽죠 ?

귀차니즘에 빠진 분들을 위해 한글 man 페이지 ( 출처:kldp.org) 를 추가 합니다.

ab [ -k ] [ -i ] [ -n 요청수 ] [ -t 시간제한 ] [ -c 동시접속 ] [ -p POST file ] [ -A 인증 유저이름:패스워드 ] [ -P 프락시인증 유저이름:패스워드 ] [ -H Custom header ] [ -C Cookie name=value ] [ -T content-type ] [ -v verbosity ] ] [ -w HTML 출력 ] ] [ -x <table> 속성 ] ] [ -y <tr> 속성 ] ] [ -z <td> 속성 ] [http://]서버이름[:port]/path
ab [ -V ] [ -h ]

설명
ab는 Apache Web server의 상태를 측정하는 툴이며 초당 Apache server가 얼마나 많은 요청을 처리할수 있는지를 측정할수 있다.
  
옵션
-k
HTTP KeepAlive (연결 지속성) 요소를 사용 가능 하게 한다. 이것은 하나의 HTTP session에서 여러 개의 요청을 처리할 수 있다. 기본값은 연결 지속성 기능을 사용하지 않는다.
-i
GET 방식 대신에 HTTP 'HEAD'를 사용한다. POST와 섞어서 사용할수 없다.
-n 요청수
측정을 하기 위한 요청수를 지정한다. 따로 지정하지 않는다면 하나의 요청만이 수행된다.
-t 시간제한
측정을 어느 정도까지 할 지 초단위로 지정한다. 따로 지정하지 않으면 측정 세션에 대해서 50000개의 요청을 자동으로 정의한다. 고정된 시간 동안 서버를 측정하기 위하여 사용한다. 기본적으로 시간을 제한하지는 않는다.
-c 동시접속수
동시에 요청을 처리할 수 있는 수량을 지정한다. 기본값으로는 한번에 하나의 요청만을 수행한다. 즉 동시 접속을 하지 않는다는 의미이다.

-p POST file
아파치 웹서버에 어떠한 HTTP POST 요청을 보내기 위한 data를 가진 파일을 지정한다.

-A Authorization username:password
서버로 신용증명을 하는 기본 인증을 지원한다. 사용자 이름과 패스워드는 하나의 ':'로 구분하고, uuencoded로 변환한 데이터를 보낸다. 문자열은 서버가 필요로 하든 안하든 상관없이 보내며, 401 인증을 보내는 것을 필요로 한다.

-p Proxy-Authorization username:password
프락시 서버로 신용증명을 하는 기본 인증을 지원한다. 사용자 이름과 패스워드는 하나의 ':'로 구분하고, uuencoded로 변환한 데이터를 보낸다. 문자열은 프락시가 필요로 하든 안하든 상관없이 보내며, 407 인증을 보내는 것을 필요로 한다.

-C Cookie name=value
요청에 'Cookie:' line을 추가한다. 이 인자는 'name=value'의 형태를 가진다. 이 옵션은 반복된다.

-H Header string
요청에 임의의 헤더를 추가한다. 이 인자는 유효한 헤더의 형태를 가지며, 보통 하나의 쌍으로 이루어진 필드 값을 콜론(:)으로 구분을 한다. 예를 들어

-T content-type
POST data에 대한 content-type header를 지정한다.

-v
출력 레벨을 지정한다. 4단계는 결과값 상단에 HTML 헤더를 출력하며, 3단계는 결과물 상단에 응답 코드(예를 들어 404, 200등)를 출력하며, 2단계는 경고와 정보 메세지를 출력한다.

-w
HTML table로 결과물을 출력한다. 기본 table은 2칼럼이며 흰색 바탕이다.
-x attributes
<table> 에 대한 속성을 지정한다. 속성은 <table 속성> 과 같이 들어간다.
-y attributes
<tr>에 대한 속성값을 지정한다.
-z attributes
<td>에 대한 속성값을 지정한다.
-V
버전 정보를 출력하고 프로그램을 종료한다.
-h
사용법에 대한 정보를 출력한다.
  
버그
고정 길이를 가진 다양한 정적 선언 버퍼가 있다. 이 사실로 인해서 비효율적인 명령 라인의 인자와 서버로부터의 헤더 응답, 그리고 다른 외부 입력과의 결합으로 인해 버퍼 오버 플로우가 발생할 수 있다.
Ab는 HTTP/1.x를 완전하게 충족시키지는 못한다. 대신 어떠한 형태의 응답도 수용할 수 있다. 프로그램에 의한 strstr(3)의 과도한 사용은 비정상적인 수행 결과를 가져오며, CPU 리소스를 잡아 먹게 된다. 서버의 한계에 도달하기 전에 ab에 의하여 한계에 접근 하지 않도록 ab를 수행해야 한다.  
제목 글쓴이 날짜
스크롤바색상바꿔주는프로그램(수정) [3] 이슈™ 2002.03.13
▩마우스 주위에 3D 처럼 뱅뱅도는 글자 [6] ▩윤미 2002.03.11
테두리가 스믈스믈한 -_-;; file 란즈 2002.03.02
빠르게 이동하는 텍스트 file 란즈 2002.03.02
깜박거리는 문자 [1] file 란즈 2002.03.02
강한 인상을주는 (?) 환영메세지 -_-; [5] file 란즈 2002.03.02
텍스트 지진(?)효과 내기 file 란즈 2002.03.02
페이지 사용안하고 팝업띄우기 [4] file 란즈 2002.03.02
▩물결 처럼 흐르는 것같은 이미지 슬라이드 쇼 [2] ▩윤미 2002.02.28
▩마우스를 대면 하이퍼텍스트 스크롤하는 법 (링크할수있음) ▩윤미 2002.02.28
▩시작 정지가 가능한 테이블 스크롤 메시지 ▩윤미 2002.02.27
▩휠마우스처럼 사용하기.. [6] ▩윤미 2002.02.26
▩두문장을 blur효과주며 보여주기 [3] ▩윤미 2002.02.26
▩자바스크립, 계산기 소스 (기본) [2] ▩윤미 2002.02.26
▩문서선택 &소스선택을 위한 셀렉트 스크립트 ▩윤미 2002.02.26
▩그림 슬라이드 되고, 마우스 대면 그림 멈추는 스크립트 [1] ▩윤미 2002.02.26
▩찾기 기능을 내 홈페이지에 넣어보자 [1] ▩윤미 2002.02.26
▩셀블렌딩( 테이블 색 서서히 변화주기효과) ▩윤미 2002.02.26
▩화면에 무자기로 뜨게하는 물방울 (다른 모양가능) ▩윤미 2002.02.26
▩키보드글씨가 그대로 화면에 나타나는 스크립트 [5] ▩윤미 2002.02.26