209 lines
4.3 KiB
HTML
209 lines
4.3 KiB
HTML
|
<HTML
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>How to benchmark a web server</TITLE
|
||
|
><META
|
||
|
NAME="GENERATOR"
|
||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
||
|
"><LINK
|
||
|
REL="HOME"
|
||
|
TITLE="Caudium HOWTO"
|
||
|
HREF="index.html"><LINK
|
||
|
REL="UP"
|
||
|
TITLE="Customizing your server"
|
||
|
HREF="customizing.html"><LINK
|
||
|
REL="PREVIOUS"
|
||
|
TITLE="How to run Caudium as a non-privileged user; How to secure Caudium"
|
||
|
HREF="secure.html"><LINK
|
||
|
REL="NEXT"
|
||
|
TITLE="How to tune your system for best Caudium performances"
|
||
|
HREF="tune.html"></HEAD
|
||
|
><BODY
|
||
|
CLASS="sect1"
|
||
|
BGCOLOR="#FFFFFF"
|
||
|
TEXT="#000000"
|
||
|
LINK="#0000FF"
|
||
|
VLINK="#840084"
|
||
|
ALINK="#0000FF"
|
||
|
><DIV
|
||
|
CLASS="NAVHEADER"
|
||
|
><TABLE
|
||
|
SUMMARY="Header navigation table"
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TH
|
||
|
COLSPAN="3"
|
||
|
ALIGN="center"
|
||
|
>Caudium HOWTO</TH
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="secure.html"
|
||
|
ACCESSKEY="P"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="80%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="bottom"
|
||
|
>Chapter 5. Customizing your server</TD
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="tune.html"
|
||
|
ACCESSKEY="N"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"></DIV
|
||
|
><DIV
|
||
|
CLASS="sect1"
|
||
|
><H1
|
||
|
CLASS="sect1"
|
||
|
><A
|
||
|
NAME="benchmark">5.2. How to benchmark a web server</H1
|
||
|
><P
|
||
|
> First, benchmarking a web server is not an easy thing. To benchmark a
|
||
|
web server the time it will take to give a page is not important: you don't
|
||
|
care if a user can have his page in 0.1 ms or in 0.05 ms as nobody can have
|
||
|
such delays on the Internet.
|
||
|
</P
|
||
|
><P
|
||
|
> What is important is the average time it will take when you have
|
||
|
a maximum number of users on your site simultaneously. Another
|
||
|
important thing is how much more time it will take when there
|
||
|
are 2 times more users: a server that take 2 times more for 2
|
||
|
times more users is better than another that take 4 times more
|
||
|
for the same amount of users. If you run more than a web server
|
||
|
on your computer, you will also want to look at the load average
|
||
|
and CPU time of your system. Here is a typical output of the
|
||
|
command <B
|
||
|
CLASS="command"
|
||
|
>uptime</B
|
||
|
>:
|
||
|
</P
|
||
|
><P
|
||
|
> <TT
|
||
|
CLASS="computeroutput"
|
||
|
> 22:39:49 up 2:22, 5 users, load average: 0.01, 0.01, 0.00
|
||
|
</TT
|
||
|
>
|
||
|
</P
|
||
|
><P
|
||
|
> And an extract from the top(1) man page:
|
||
|
</P
|
||
|
><P
|
||
|
> <SPAN
|
||
|
CLASS="QUOTE"
|
||
|
>"
|
||
|
The load averages are the average number of process ready to run during
|
||
|
the last 1, 5 and 15 minutes
|
||
|
"</SPAN
|
||
|
>
|
||
|
</P
|
||
|
><P
|
||
|
> So the lower your load average is, the better for the other
|
||
|
programs on your machine.
|
||
|
</P
|
||
|
><P
|
||
|
> Now comes the next problem: how can you stress your web server with a maximum
|
||
|
number of connections when your client (the machine making the request) will
|
||
|
usually not be able to cope with the server and with the number of users you
|
||
|
have.
|
||
|
</P
|
||
|
><P
|
||
|
> To do this, increase the number of sockets you can have on your
|
||
|
system. Under some systems it is 1024, which is too low, see
|
||
|
<A
|
||
|
HREF="tune.html"
|
||
|
>Section 5.3</A
|
||
|
> for more information. The
|
||
|
next thing to do is to have a good client program written with
|
||
|
threads and non-blocking sockets. If you use a multi-fork
|
||
|
program on a single client, it will never cope with any web
|
||
|
server. It is also good to have several clients stressing the
|
||
|
server together.
|
||
|
|
||
|
</P
|
||
|
><P
|
||
|
> Last, if you want to compare two web servers, be sure that they are on the
|
||
|
same hardware, OS, and network. The same holds for the client(s).
|
||
|
</P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="NAVFOOTER"
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"><TABLE
|
||
|
SUMMARY="Footer navigation table"
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="secure.html"
|
||
|
ACCESSKEY="P"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="index.html"
|
||
|
ACCESSKEY="H"
|
||
|
>Home</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="tune.html"
|
||
|
ACCESSKEY="N"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
>How to run Caudium as a non-privileged user; How to secure Caudium</TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="customizing.html"
|
||
|
ACCESSKEY="U"
|
||
|
>Up</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
>How to tune your system for best Caudium performances</TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|