httpd-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Httpd Wiki] Update of "PerformanceScalingUp" by jmcg
Date Tue, 16 Nov 2010 11:06:44 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change notification.

The "PerformanceScalingUp" page has been changed by jmcg.


  See also:
+ = 1     Introduction =
+ The Performance Tuning page in the Apache 1.3 documentation says:
+        “Apache is a general webserver, which is designed to be correct first,
+        and fast second. Even so, its performance is quite satisfactory. Most
+        sites have less than 10Mbits of outgoing bandwidth, which Apache
+        can fill using only a low end Pentium-based webserver.”
+  However, this sentence was written a few years ago, and in the meantime
+  several things have happened. On one hand, web server hardware has become
+  much faster. On the other hand, many sites now are allowed much more than
+  ten megabits per second of outgoing bandwidth. In addition, web applications
+  have become more complex. The classic brochureware site is alive and well,
+  but the web has grown up substantially as a computing application platform
+  and webmasters may find themselves running dynamic content in Perl, PHP or
+  Java, all of which take a toll on performance.
+  Therefore, in spite of strides forward in machine speed and bandwidth al-
+  lowances, web server performance and web application performance remain ar-
+  eas of concern. In this paper and the ApacheCon session it accompanies, several
+  aspects of web server performance will be discussed.
+ == 1.1    What Will and Will Not Be Discussed ==
+ The session will focus on easily accessible configuration and tuning options for
+  Apache 1.3 and 2 as well as monitoring tools. Monitoring tools will allow you
+  to observe your web server to gather information about its performance, or
+  lack thereof. We’ll assume that you don’t have an unlimited budget for server
+  hardware, so the existing infrastructure will have to do the job. You have
+  no desire to compile your own Apache, or to recompile the operating system
+  kernel. We do assume, though, that you have some familiarity with the Apache
+  configuration file.
+ = 2      Monitoring Your Server =
+ The first task when sizing or performance-tuning your server is to find out how
+  your system is currently performing. By monitoring your server under real-world
+  load, or artificially generated load, you can extrapolate its behavior under stress,
+  such as when your site is mentioned on Slashdot.
+ == 2.1      Monitoring Tools ==
+ === 2.1.1     top ===
+ The top tool ships with Linux and FreeBSD, and can be downloaded for So-
+  laris2 . It collects a number of statistics for the system and for each running
+  process, then displays them interactively on your terminal. The data displayed
+  is refreshed every second and varies by platform, but typically includes system
+  load average, number of processes and their current states, the percent CPU(s)
+  time spent executing user and system code, and the state of the virtual mem-
+  ory system. The data displayed for each process is typically configurable and
+  includes its process name and ID, priority and nice values, memory footprint,
+  and percentage CPU usage. An example top display is shown in Figure 1.
+ Top is a wonderful tool even though it’s slightly resource intensive (when
+  running, its own process is usually in the top ten CPU gluttons). It is indis-
+  pensable in determining the size of a running process, which comes in handy
+  when determining how many server processes you can run on your machine.
+  How to do this is described in Section 3.1.3. Top is, however, an interactive tool
+  and running it continuously has few if any advantages.
+ === 2.1.2     free ===
+ This command is only available on Linux. It shows how much memory and swap
+  space is in use. Linux allocates unused memory as file system cache. The free
+  command shows usage both with and without this cache. The free command
+  can be used to find out how much memory the operating system is using, as
+ described in the paragraph ‘Sizing MaxClients’ on page 10. The output of free
+  looks like this:
+ {{{
+ sctemme@brutus:~$ free
+ }}}
+ {{{
+               total       used     free   shared    buffers    cached
+ }}}
+ {{{
+ Mem:        4026028    3901892   124136         0    253144    841044
+ }}}
+ {{{
+ -/+ buffers/cache:     2807704  1218324
+ }}}
+ {{{
+ Swap:       3903784      12540  3891244
+ }}}

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message