Friday, November 10, 2006

I am setting up my own dedicated server, its fun for a geek!

As mentioned in my previous post, www.rossputin.org (down at the time of this writing) is moving to my new dedicated server, and this is opening up a whole new world to me, involving hosting my own DNS, when previously I could only work from the Apache stage onwards. I have always classified myself as a software developer/architect, so doing these sys admin type of tasks is new ground, but definitely informative.

Of course because this is my own server (well, shared with a colleague at work) and these websites are my own.. I am striving to crank the maximum performance possible out of them. Its good fun actually... benchmarking for speed and seeing exactly what kind of performance I can get out of them!

The server will be cranking out plain old html pages, and pages served from a Cocoon instance. I am going to list some benchmark results from both here. First up, with no caching.

Plain html

using Apache Benchmark with 100 consecutive requests, we get:

Requests per second: 1155.13
Time per request : 0.866

(fast as expected, its just html)

Home page of Cocoon App

same apache command:

Requests per second: 110.51
Time per request : 9.049

(not so fast, of course.. as expected)

So I am prepared to accept 110.51 requests per second in consecutive tests.

Now lets look at some more serious stress testing :-)

Lets look at concurrent requests...

ab2 -n 10000 -c 50 http://www.my-non-cached-website.com/

will run 10000 requests with 50 request concurrency :-)

The results on my cocoon instance behind apache are:

Requests per second: 172.98
Time per request : 289.045

Now once again, clearly this is fast enough for a hobby homesite.. by why make the server do any more than it needs to, why overwork Cocoon, content is hardly changing very often.

Lets plug the caching in and repeat the tests :-)

Same ab2 command... ab2 -n 10000 -c 50 http://www.my-cached-website.com/

Wow!!!!!!

Results on cocoon instance behind apache:

Requests per second: 1602.96
Time per request : 31.192

Sweeet!!! Apache is very cool.

No comments: