For an upcoming release we decided to do a loadtest on our Azure test environment. Until now we used a set of local machines for this. The setup uses 6 machines that host our product, which consists of a number of WCF services and a website. We must produce the load from “within” Azure or else it would be blocked as being a DDOS. So we provisioned an additional VM with Visual Studio 2013 and started the test.
Result
We soon discovered that it had to be run in 64 bit mode to use the 28 Gb (A6!) memory we gave the VM. This is done in the testsettings file under hosts.
Running in 32 bit resulted in an out-of-memory exception since it can only use 3 Gb.
In the Azure portal we would follow the metrics of the VM’s hosting our product. This information is lagging behind and sometimes we want to know what is happening in real time. Using remote powershell we call the Get-Process commandlet. It provides just enough intel.
After the first test runs we experienced bugs and hickups. Some fixes are applied and another loadtest is run. This had been unnoticed on our local machines. Loadtesting in Azure is already a huge success.
Next
If we had a Visual Studio Online account we could have used their loadtest. Maybe somewhere in the future, one-step at a time.
After two days of testing this setup my Azure subscription freaked out and notified my that I possibly had insufficient funds for the rest of the month. We all laughed and shutdown the machines for the weekend. That is cloud computing!