Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head>
<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>ab - 아파치 웹서버 성능검사 도구 - Apache HTTP Server Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>ab - 아파치 웹서버 성능검사 도구</h1>
<div class="toplang">
<p><span>가능한 언어: </span><a href="../en/programs/ab.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/programs/ab.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ko/programs/ab.html" title="Korean"> ko </a> |
<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<div class="outofdate">이 문서는 최신판 번역이 아닙니다.
최근에 변경된 내용은 영어 문서를 참고하세요.</div>
<p><code>ab</code>는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP)
서버의 성능을 검사하는(benchmarking) 도구이다. 현재 아파치가
어떻게 동작하는지 알려준다. 특히 아파치가 현재 초당 몇개의
요청을 서비스하는지 알려준다.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">개요</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">옵션</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#bugs">버그</a></li>
</ul><h3>참고</h3><ul class="seealso"><li><a href="httpd.html">httpd</a></li><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="synopsis" id="synopsis">개요</a></h2>
<p><code><strong>ab</strong>
[ -<strong>A</strong> <var>auth-username</var>:<var>password</var> ]
[ -<strong>c</strong> <var>concurrency</var> ]
[ -<strong>C</strong> <var>cookie-name</var>=<var>value</var> ]
[ -<strong>d</strong> ]
[ -<strong>e</strong> <var>csv-file</var> ]
[ -<strong>g</strong> <var>gnuplot-file</var> ]
[ -<strong>h</strong> ]
[ -<strong>H</strong> <var>custom-header</var> ]
[ -<strong>i</strong> ]
[ -<strong>k</strong> ]
[ -<strong>n</strong> <var>requests</var> ]
[ -<strong>p</strong> <var>POST-file</var> ]
[ -<strong>P</strong> <var>proxy-auth-username</var>:<var>password</var> ]
[ -<strong>q</strong> ]
[ -<strong>s</strong> ]
[ -<strong>S</strong> ]
[ -<strong>t</strong> <var>timelimit</var> ]
[ -<strong>T</strong> <var>content-type</var> ]
[ -<strong>v</strong> <var>verbosity</var>]
[ -<strong>V</strong> ]
[ -<strong>w</strong> ]
[ -<strong>x</strong> <var><table>-attributes</var> ]
[ -<strong>X</strong> <var>proxy</var>[:<var>port</var>] ]
[ -<strong>y</strong> <var><tr>-attributes</var> ]
[ -<strong>z</strong> <var><td>-attributes</var> ]
[http://]<var>hostname</var>[:<var>port</var>]/<var>path</var></code></p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="options" id="options">옵션</a></h2>
<dl>
<dt><code>-A <var>auth-username</var>:<var>password</var></code></dt>
<dd>서버에게 BASIC Authentication 정보를 제공한다.
<code>:</code>으로 구분한 사용자명과 암호를 base64 인코딩하여
전송한다. 서버가 정보를 요구하는지 (<em>예를 들어</em>,
401 인증 필요를 보내는지) 관계없이 문자열을 전송한다.</dd>
<dt><code>-c <var>concurrency</var></code></dt>
<dd>동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을
보낸다.</dd>
<dt><code>-C <var>cookie-name</var>=<var>value</var></code></dt>
<dd>요청에 <code>Cookie:</code> 헤더를 추가한다. 아규먼트는
보통 <code><var>name</var>=<var>value</var></code>와 같은
쌍이다. 이 옵션은 여러번 사용할 수 있다.</dd>
<dt><code>-d</code></dt>
<dd>"percentage served within XX [ms] table"을 출력하지
않는다. (호환성을 위해).</dd>
<dt><code>-e <var>csv-file</var></code></dt>
<dd>요청을 처리하는데 걸린 (밀리초 단위) 시간들의 (1%에서
100%) 누적백분율을 쉼표로 구분한 형식(CSV)으로 출력한다.
결과를 이미 '정리'하였기때문에 'gnuplot' 파일보다 보통 더
유용하다.</dd>
<dt><code>-g <var>gnuplot-file</var></code></dt>
<dd>측정한 모든 값을 'gnuplot' 혹은 TSV (Tab separate values,
탭으로 구분한 값) 파일에 기록한다. Gnuplot, IDL, Mathematica,
Igor, 심지어 Excel 같은 프로그램에서도 이런 파일을 쉽게
읽을 수 있다. 파일의 첫번째 줄에 항목이름이 나온다. </dd>
<dt><code>-h</code></dt>
<dd>사용법을 출력한다.</dd>
<dt><code>-H <var>custom-header</var></code></dt>
<dd>요청에 헤더를 추가한다. 아규먼트는 보통 콜론으로 구분한
쌍인 (<em>예를 들어</em>,
<code>"Accept-Encoding: zip/zop;8bit"</code>) 유효한
헤더줄이다.</dd>
<dt><code>-i</code></dt>
<dd><code>GET</code> 대신 <code>HEAD</code> 요청을 한다.</dd>
<dt><code>-k</code></dt>
<dd>HTTP KeepAlive 기능을 사용한다. <em>예를 들어</em>,
한 HTTP 세션에서 여러 요청을 한다. 기본적으로 KeepAlive를
사용하지 않는다.</dd>
<dt><code>-n <var>requests</var></code></dt>
<dd>성능을 검사하기위해 보내는 요청수. 기본값으로 요청을
한번만 보내기때문에 일반적인 성능검사 결과를 얻을 수 없다.</dd>
<dt><code>-p <var>POST-file</var></code></dt>
<dd>POST 자료 파일.</dd>
<dt><code>-P <var>proxy-auth-username</var>:<var>password</var></code></dt>
<dd>프록시를 통해 BASIC Authentication 정보를 제공한다.
<code>:</code>로 구분한 사용자명과 암호를 base64 인코딩하여
전송한다. 프록시가 정보를 요구하는지 (<em>예를 들어</em>,
401 인증 필요를 보내는지) 관계없이 문자열을 전송한다.</dd>
<dt><code>-q</code></dt>
<dd>150개 이상 요청을 보낼때 <code>ab</code>는 10% 혹은
매 100 요청당 <code>표준오류</code>에 진행상황을 출력한다.
<code>-q</code> 옵션은 이 문구를 출력하지 않는다.</dd>
<dt><code>-s</code></dt>
<dd>기능을 추가하여 컴파일하였다면 (<code>ab -h</code>로
확인할 수 있다) <code>http</code> 프로토콜 대신 SSL을 사용한
<code>https</code> 프로토콜을 사용한다. 이 기능은 실험적이고
<em>매우</em> 기초적이다. 아마도 사용을 꺼려할 것이다.</dd>
<dt><code>-S</code></dt>
<dd>중간값과 표준편차를 출력하지 않고, 평균과 중간값의 차이가
표준편차보다 크더라도 경고/오류를 출력하지 않는다.
최소/평균/최대 값을 출력한다. (호환성을 위해).</dd>
<dt><code>-t <var>timelimit</var></code></dt>
<dd>성능을 검사하는 최대 초단위 시간. 내부적으로
<code>-n 50000</code>을 가정한다. 정해진 시간동안 서버 성능을
검사할때 사용한다. 기본적으로 시간제한 없이 검사한다.</dd>
<dt><code>-T <var>content-type</var></code></dt>
<dd>POST 자료의 Content-type 헤더.</dd>
<dt><code>-v <var>verbosity</var></code></dt>
<dd>출력의 자세함 수준을 지정한다. <code>4</code> 이상이면
헤더에 대한 정보를, <code>3</code> 이상이면 (404, 202, 등)
응답코드를, <code>2</code> 이상이면 경고(warning)와
정보(info)를 출력한다.</dd>
<dt><code>-V</code></dt>
<dd>버전을 출력하고 종료한다.</dd>
<dt><code>-w</code></dt>
<dd>결과를 HTML 표로 출력한다. 기본적으로 표를 흰 배경에
두 열로 작성한다.</dd>
<dt><code>-x <var><table>-attributes</var></code></dt>
<dd><code><table></code>의 속성으로 사용할 문자열.
속성을 <code><table <var>여기에</var> ></code>
추가한다.</dd>
<dt><code>-X <var>proxy</var>[:<var>port</var>]</code></dt>
<dd>프록시 서버를 사용하여 요청한다.</dd>
<dt><code>-y <var><tr>-attributes</var></code></dt>
<dd><code><tr></code>의 속성으로 사용할 문자열.</dd>
<dt><code>-z <var><td>-attributes</var></code></dt>
<dd><code><td></code>의 속성으로 사용할 문자열.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="bugs" id="bugs">버그</a></h2>
<p>정적으로 길이가 고정된 버퍼를 많이 사용한다. 명령행
아규먼트, 서버의 응답 헤더, 다른 외부 입력들을 같이
읽어들이면서 문제가 발생할 수 있다.</p>
<p>이 프로그램은 HTTP/1.x를 완전히 구현하지 않는다; 단지
'기대하는' 형식의 응답만을 받는다. <code>strstr(3)</code>을
매우 많이 사용기때문에 속도가 문제가 될 수 있다; <em>즉</em>,
서버 성능보다는 <code>ab</code> 성능을 측정하게 될 수도
있다.</p>
</div></div>
<div class="bottomlang">
<p><span>가능한 언어: </span><a href="../en/programs/ab.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/programs/ab.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ko/programs/ab.html" title="Korean"> ko </a> |
<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/ab.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>