viernes, 3 de septiembre de 2010

          Here I am, with the results of my first benchmark. For this test, I wanted to check how Cherokee behaves under different stress levels. The variation factors were the number of threads of the server, and the concurrency level of the clients.For this test I used a regular -fairly modern- server running Linux 2.6, and Cherokee 1.0.8. The testing tool was ab. The target was a directory with about 50 files, with an standard configuration file that set the web server to use 'handler_common' (and thus, handler_dirlist) to serve the requests.


Here you can find the plot after the data collection:


On X axis we have concurrency
On Y axis we have the request/second


 As you can see, as long as the server runs with more than a single thread the performance it similar. As you can imagine by now, the blue line represents the performance of that special case.
       So, what do I have learnt from this?  The thread number does not certainly look like a very relevant factor when it comes to performance in Cherokee.  By default, it launched 10 threads in the testing server, which seems to be a very reasonable value.

Initation of combustion



One month ago i had got the great opportunity of joining the Octality as an intern for the summer time. I've been working mainly in QA and Benchmarking. So far, the benchmarking stuff is my favorite. Really i think it's pretty cool to study how High Performance Web software works. Basically i'm providing tons of data to the main product engineers, so they can have a better comprehension of how their server works under really big work loads.

I've been working on different benchmarking scenarios, a few of which have revealed very interesting stuff.  In the following post entry i will present the result of a few of those, so the rest of the Cherokee community can check them out. I'll also try to come with some conclusion about them when possible. Some of them just confirms that the server works fine under stress - which, at the end of the day, is also crucial for production environments.