2009/11/25

VMSTAT REPORT TOOL - AN EASY WAY TO MONITOR A SERVER UNDER LOAD

Mobicents Jain-SLEE 2.0.0.BETA2 was just released a few days ago. If you missed the announcement shame on you, go get it right now. I was really looking forward this release and that was just what I did.

So, I downloaded it, then installed sip resource adaptor and sip11-loadtest-with-dialogs and had fun with it. Development team already told me that it was fast, that it could handle twice the call rate and that it was stable. I thought of seeing it by myself and I can now say that they were right. I just posted my test report to mobicents-public mailing list.

This is all very nice, but what I want to talk about in this post is this tool that monitors the load of the server under load. I am very happy with the tool that parses the stat file that the SIPp load generator outputs and shows it in a beautiful report, but it was not complete because it doesn't show things like Memory, I/O or CPU usage. Now we can see those parameters because I just developed a similar tool that parses the output of the vmstat command.


I was inspired by some code that I saw that parsed the output of this command. Since the structure of the data is not much different than the stat file, I thought of modifying the sipp report tool and created the vmstat report tool in a few hours.

Since this was done in such a hurry, between some test runs, there are still some things that I'm improving. I would like to have some averages so it would be easier to compare results on longer tests. I would also like to group different graphs of the same components, like CPU and Memory, to understand better how these resources are being used when the server is under load. I haven't committed the tool to Mobicents SVN yet, but I will.

Although this reports are great, they are very limited, and the only reason why I put it up was that is was easy to do. The report only shows the state of the whole system, while what would be ideal was to have a report of the Java VM process where Mobicents is running only. That could also be done, and it's a thing that I considered in the past, but it would require a greater effort to accomplish, so for now it's another idea on my drawer of ideas.

All in all, I believe that it's a nice addition to our collection of test and report tools, and that it will certainly be used in future load tests to monitor the server load while it runs. Now we will also be able to compare the resource consumption of a server between releases.

Data is nothing if we can't understand it. For me, that am a little dumb, there is nothing better to make me understand things than a good graph, or set of graphs. That is the main reason why I develop this tools, and although there s still a lot of stuff that I don't understand, I'm getting there one graph at a time.

Have fun,

No comments:

Post a Comment