Re: apache httpd performance



Hi,

Ivan Voras wrote:
Cheffo wrote:

What else I can change/test to improve performance?

First you'll have to give more info about the hardware on both systems,
and the way you benchmarked them (e.g. did you benchmark over ethernet
or from the same machine?). There are also a bunch of things that may
make apache go faster/slower, for example DNS resolving for the logs,
rewrite rules, etc. - you should test with (as much as they can be)
identical configurations.
I'm using my laptop to run ab in both test, and 2 totally different servers :)
That's why I do not pretend that the benchmark is done the right way.

The linux host is with pentium 4 single core processor,
The freebsd host is amd64 athlon 3200+ (2GHz) - single core too

Both servers share same dns server(s), so I do not think that the DNS can be issue.

I'm using 3com network card - 100mbps - xl.

I'll test with accf_http and will report back. If there is a problem (as I'm still not sure that there is) I'll make more accurate benchmark
and will try to find where is the problem (with your help) :)
On a slow-ish 2 CPU Pentium3 server, over gigabit network (remote
client), I get:

Server Software: Apache/2.2.3
Server Port: 80

Document Path: /file.txt
Document Length: 9500 bytes

Concurrency Level: 100
Time taken for tests: 27.300259 seconds
Complete requests: 50000
Failed requests: 0
Write errors: 0
Total transferred: 489226808 bytes
HTML transferred: 475025956 bytes
Requests per second: 1831.48 [#/sec] (mean)
Time per request: 54.601 [ms] (mean)
Time per request: 0.546 [ms] (mean, across all concurrent requests)
Transfer rate: 17500.20 [Kbytes/sec] received

On the same server, ab running locally, I get:

Server Software: Apache/2.2.3
Server Port: 80

Document Path: /file.txt
Document Length: 9500 bytes

Concurrency Level: 100
Time taken for tests: 30.8557 seconds
Complete requests: 29194
Failed requests: 6
(Connect: 6, Length: 0, Exceptions: 0)
Write errors: 0
Total transferred: 286117856 bytes
HTML transferred: 277811424 bytes
Requests per second: 972.86 [#/sec] (mean)
Time per request: 102.790 [ms] (mean)
Time per request: 1.028 [ms] (mean, across all concurrent requests)
Transfer rate: 9311.04 [Kbytes/sec] received

(Yes, this is a different version of apache than yours, but I'm
illustrating a point :) )

Some more data points:

- Remote client, apache, using keepalives:
Requests per second: 2891.61 [#/sec] (mean)
Time per request: 34.583 [ms] (mean)
Time per request: 0.346 [ms] (mean, across all concurrent requests)
Transfer rate: 27729.00 [Kbytes/sec] received

- Remote client, using thttpd instead of apache (keepalives have no
influence here):
Requests per second: 3728.68 [#/sec] (mean)
Time per request: 26.819 [ms] (mean)
Time per request: 0.268 [ms] (mean, across all concurrent requests)
Transfer rate: 35499.92 [Kbytes/sec] received

Regarding this last one: It seems that FreeBSD really benefits from
using 2 CPUs here. thttpd is a single-threaded async server, but the
load on the machine shows cca 10% idle. Thttpd gets ~~45%, swi:net gets
45%, irq20:bge0 gets 20%, syslogd gets 5% and the rest goes where top
can't follow. It looks like ipfw might be one of the limiting factors
here (I use dynamic rules and the log shows ipfw discarding packets that
look valid).


Can you make this test with default /manual/ alias instead of file.txt, so we can compare results ?
_______________________________________________
freebsd-performance@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • [PATCH linux-2.6.12-rc4] block: cfq request selection improvement
    ... selection from cfqq. ... window is tracked with cfqd->last_sector and when selecting a request ... this patch should generally increase IO throughput. ... Benchmark result follows. ...
    (Linux-Kernel)
  • Re: apache httpd performance
    ... and the way you benchmarked them (e.g. did you benchmark over ethernet ... Time per request: 0.546 (mean, across all concurrent requests) ... (Yes, this is a different version of apache than yours, but I'm ...
    (freebsd-performance)
  • Re: Client IP behind Load Balancer
    ... request had to be NATed. ... So we will try to move servers into the same DMZ as the F5, ... > If requests are done through the public IP, then they go through the load ... and I only see the virtual private IP in the logs. ...
    (microsoft.public.inetserver.iis)
  • RE: Upgrading W2K3 Server to MSXML SP2
    ... "Trent USTA" wrote: ... > between the IIS request to SQL and the response back to IIS. ... > I've been tasked with upgrading the web servers to SP2. ...
    (microsoft.public.inetserver.asp.db)
  • Cannot generate a certificate using the Administrator template = no RADIUS!
    ... the request just hangs and an error shows in Active X like: ... posts, it could have been when SP3 was added, or when IE was updated. ... lockdown tool and restored the original settings (once we knew that CA ... have re-applied Q323172 on both the CA servers and clients ...
    (microsoft.public.win2000.security)