During the BI in the cloud project, one of the aspects we had to test is the network. Here is how we did it to figure out how the network performs and most of all, is it stable?
One of the most important things in a cloud environment is the network. It connects devices to eachother and makes it possible to have communication between devices. Sounds obvious, right?
Some tests we have done, were relying very heavily on the network, such like nfs, smb,… and in the beginning, we didn’t manage to get it stable. At some period in time, you have the “I-should-find-some-time-to-do”-moment. This was one of them. I should find some time to, in a very easy quick way, to check if the network remains “ok”. So, I came up with the most basic test a network test could be: ping! Ping? Pong, yes an easy ping. I know that firewalls give lower priority to ping but in this case they are configured well so this is good to go.
The test consists out a very little tiny script, which does 10 pings, some cli magic to grep the time out of it and record it in a file. It’s a quick and dirty script, and it’s a lot better to store it in a database. But hey, we just needed an idea, is the network stable or not. This script goes in the crontab for every 5 minutes on each of the 3 servers. This generates data and I harvested this data after a couple of days. I would like to mention (oh oh, comment storm coming up) that regarding the network in this Microsoft Azure subscription, windows and linux servers are performing the same. Prerequisite is that you configure them well, so we did that 🙂
The first test is done on 2 servers, one linux and one windows, and stored in a different availability set (AS).
This is no excel-graph. I would like to thank my team-lead Geert De Paep for letting me put my data into Pandora. Pandora is a tool which puts database data into every kind of svg-graph you would like. For the people interested, I can share the excel graph as well, but there were high peaks. To keep my detail, I needed the exponential graphs and pandora is the ideal choice to do so.
This looks to me that for every ping packet series, the first one takes some time and then it gets pretty stable.
The second test is also done on 2 servers, one linux and one windows. This time that are stored in the availability set (AS). But there’s a little other difference. The network throughput we had on other machines was bit disappointing. Hey Microsoft, can you do something about it? The answer was very easy. Use the preview of accelerated networking. So that is what we did.
Strange behaviour in the beginning, but I assume, as it is a preview, that still something was going on. Timings are a bit lower, which is good. But also the same behaviour. One “slower” ping and then good results. Although between 18h and 20h we see some higher times on a daily rate. I think I should gather more data on this as well to spot if it is a recurring trend.
So that brings us to the third and final test. Just the same setup as the second one, except that it runs between 2 linux boxes. Azure, your results please!
The graph looks different, but spot the time. While the windows boxes were shutdown between christmas and new year. No no no, it’s not because windows crashed, they were simply shutdown and resources are reused for other things.
But I do like the consistency. Still the same behaviour. One longer ping and then the rest lower but consistent.
As always, questions, remarks? find me on twitter @vanpupi