This article is part of a series of 5 where I am talking about the Microsoft Azure network bandwidth. For a better understanding please make sure you read also the other parts:
- What does Microsoft mean by low / moderate / high / very high / extremely high Azure network bandwidth (part 1)
- The isolated network setup (the environment used for network analysis) (part 2)
- What happens when we perform a PING? (part 2.1)
- What happens when we perform a PING in size of 4086 bytes? (part 2.2)
- Now let’s see what exactly happens when a file is copied over the network (file share) (part 2.3)
- Now let’s see what exactly happens when MS SQL traffic is performed (part 2.4)
- Now let’s see what exactly happens when IIS HTTP/HTTPS traffic is performed (part 2.5)
- The IOmeter benchmark tests who reproduce as close as possible the HTTP/HTTPS, SMB and MS SQL network traffic (part 3)
- The Azure Virtual Machines used to run the IOmeter benchmarks (part 4)
- Results and interpretations
To run the benchmark tests in Microsoft Azure I created five sets of Virtual Machines (one set for each network bandwidth size: low / moderate / high / very high / extremely high). Each set was composed by two VMs: one used to run IOmeter and act as server (sending data) and the other machine used to run Dynamo.exe and act as client (receive data). Each of those two VMs have been configured to be part of the same Azure availability set (to guarantee the VMs are running on separate Azure physical hosts and the network traffic is passing the physical Azure network infrastructure).The results for the network benchmark tests have been collected using Performance Monitor and IOmeter. To have the minimum influence over the results, for the duration of all these tests the Windows Firewall has been deactivated and no additional applications have been executed in parallel.
Azure VM setup for the Low network bandwidth benchmarks
- Availability set name: avs_network_benchmark_A0
- AZIOA0-01 VM:
- Virtual Machine Size: Standard_A0
- Virtual Machine Name: AZIOA0-01
- Storage Account Name: azioa001storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A0
- AZIOA0-02 VM:
- Virtual Machine Size: Standard_A0
- Virtual Machine Name: AZIOA0-02
- Storage Account Name: azioa002storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A0
The following PowerShell commands have been used to provision Microsoft Azure VM configurations for the Low network bandwidth benchmarks.
Login-AzureRmAccount Get-AzureRMSubscription $subscriptionName = '<YOUR SUBSCRIPTION NAME>' Get-AzureRmSubscription -SubscriptionName $subscriptionName | Select-AzureRmSubscription $resourceGroupName='<RESOURCE GROUP NAME>' $locationName = 'West Europe' if ((Get-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName -ErrorAction SilentlyContinue) -eq $null) { New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName } #AZIOA0-01 VM $availabilitySetName='avs_network_benchmark_A0' New-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName -Location $locationName $availabilitySet=Get-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName $storageAccountName="azioa001storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA0-01' $computerName='azioa0-01' $virtualMachineSize='Standard_A0' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa0-01_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA0-01 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa0-01_os_01' $diskName='azioa0-01_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm #AZIOA0-02 VM $storageAccountName="azioa002storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA0-02' $computerName='azioa0-02' $virtualMachineSize='Standard_A0' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa0-02_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA0-02 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa0-02_os_01' $diskName='azioa0-02_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm
Azure VM setup for the Moderate network bandwidth benchmarks
- Availability set name: avs_network_benchmark_A2
- AZIOA2-01 VM:
- Virtual Machine Size: Standard_A2
- Virtual Machine Name: AZIOA2-01
- Storage Account Name: azioa201storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A2
- AZIOA2-02 VM:
- Virtual Machine Size: Standard_A2
- Virtual Machine Name: AZIOA2-02
- Storage Account Name: azioa202storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A2
The following PowerShell commands have been used to provision Microsoft Azure VM configurations for the Moderate network bandwidth benchmarks.
Login-AzureRmAccount Get-AzureRMSubscription $subscriptionName = '<YOUR SUBSCRIPTION NAME>' Get-AzureRmSubscription -SubscriptionName $subscriptionName | Select-AzureRmSubscription $resourceGroupName='<RESOURCE GROUP NAME>' $locationName = 'West Europe' if ((Get-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName -ErrorAction SilentlyContinue) -eq $null) { New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName } $availabilitySetName='avs_network_benchmark_A2' New-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName -Location $locationName $availabilitySet=Get-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName #AZIOA2-01 VM $storageAccountName="azioa201storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA2-01' $computerName='azioa2-01' $virtualMachineSize='Standard_A2' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa2-01_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA2-01 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa2-01_os_01' $diskName='azioa2-01_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm #AZIOA2-02 VM $storageAccountName="azioa202storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA2-02' $computerName='azioa2-02' $virtualMachineSize='Standard_A2' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa2-02_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA2-02 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa2-02_os_01' $diskName='azioa2-02_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm
Azure VM setup for the High network bandwidth benchmarks
- Availability set name: avs_network_benchmark_A3
- AZIOA3-01 VM:
- Virtual Machine Size: Standard_A3
- Virtual Machine Name: AZIOA3-01
- Storage Account Name: azioa301storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A3
- AZIOA3-02 VM:
- Virtual Machine Size: Standard_A3
- Virtual Machine Name: AZIOA3-02
- Storage Account Name: azioa302storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A3
The following PowerShell commands have been used to provision Microsoft Azure VM configurations for the High network bandwidth benchmarks.
Login-AzureRmAccount Get-AzureRMSubscription $subscriptionName = '<YOUR SUBSCRIPTION NAME>' Get-AzureRmSubscription -SubscriptionName $subscriptionName | Select-AzureRmSubscription $resourceGroupName='<RESOURCE GROUP NAME>' $locationName = 'West Europe' if ((Get-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName -ErrorAction SilentlyContinue) -eq $null) { New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName } #AZIOA3-01 $availabilitySetName='avs_network_benchmark_A3' New-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName -Location $locationName $availabilitySet=Get-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName $storageAccountName="azioa301storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA3-01' $computerName='azioa3-01' $virtualMachineSize='Standard_A3' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa3-01_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA3-01 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa3-01_os_01' $diskName='azioa3-01_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm #AZIOA3-02 $storageAccountName="azioa302storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA3-02' $computerName='azioa3-02' $virtualMachineSize='Standard_A3' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa3-02_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA3-02 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa3-02_os_01' $diskName='azioa3-02_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm
Azure VM setup for the Very High network bandwidth benchmarks
- Availability set name: avs_network_benchmark_A11
- AZIOA11-01 VM:
- Virtual Machine Size: Standard_A11
- Virtual Machine Name: AZIOA11-01
- Storage Account Name: azioa1101storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A11
- AZIOA11-02 VM:
- Virtual Machine Size: Standard_A11
- Virtual Machine Name: AZIOA11-02
- Storage Account Name: azioa1102storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_A11
The following PowerShell commands have been used to provision Microsoft Azure VM configurations for the Very High network bandwidth benchmarks.
Login-AzureRmAccount Get-AzureRMSubscription $subscriptionName = '<YOUR SUBSCRIPTION NAME>' Get-AzureRmSubscription -SubscriptionName $subscriptionName | Select-AzureRmSubscription $resourceGroupName='<RESOURCE GROUP NAME>' $locationName = 'West Europe' if ((Get-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName -ErrorAction SilentlyContinue) -eq $null) { New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName } #AZIOA11-01 VM $storageAccountName="azioa1101storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA11-01' $computerName='azioa11-01' $virtualMachineSize='Standard_A11' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa11-01_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA11-01 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa11-01_os_01' $diskName='azioa11-01_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm #AZIOA11-02 VM $storageAccountName="azioa1102storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOA11-02' $computerName='azioa11-02' $virtualMachineSize='Standard_A11' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='azioa11-02_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOA11-02 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='azioa11-02_os_01' $diskName='azioa11-02_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm
Azure VM setup for the Extremely High network bandwidth benchmarks
- Availability set name: avs_network_benchmark_D5V2
- AZIOD5V2-01 VM:
- Virtual Machine Size: Standard_D5_v2
- Virtual Machine Name: AZIOD5V2-01
- Storage Account Name: aziod5v201storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_D5V2
- AZIOD5V2-02 VM:
- Virtual Machine Size: Standard_D5_v2
- Virtual Machine Name: AZIOD5V2-02
- Storage Account Name: aziod5v202storacc01
- Number of NICs: 1
- Availability set: avs_network_benchmark_D5V2
The following PowerShell commands have been used to provision Microsoft Azure VM configurations for the Extremely High network bandwidth benchmarks.
Login-AzureRmAccount Get-AzureRMSubscription $subscriptionName = '<YOUR SUBSCRIPTION NAME>' Get-AzureRmSubscription -SubscriptionName $subscriptionName | Select-AzureRmSubscription $resourceGroupName='<RESOURCE GROUP NAME>' $locationName = 'West Europe' if ((Get-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName -ErrorAction SilentlyContinue) -eq $null) { New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName } #AZIOD5V2-01 VM $availabilitySetName='avs_network_benchmark_D5V2' New-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName -Location $locationName $availabilitySet=Get-AzureRmAvailabilitySet -Name $availabilitySetName -ResourceGroupName $resourceGroupName $storageAccountName="aziod5v201storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOD5V2-01' $computerName='aziod5v2-01' $virtualMachineSize='Standard_D5_v2' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='aziod5v2-01_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOD5V2-01 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='aziod5v2-01_os_01' $diskName='aziod5v2-01_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm #AZIOD5V2-02 VM $storageAccountName="aziod5v202storacc01" $storageType="Standard_LRS" if ((Find-AzureRmResource -ResourceNameContains $storageAccountName -ResourceType 'Microsoft.Storage/storageAccounts') -eq $null) { New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type $storageType -Location $locationName } $virtualMachineName='AZIOD5V2-02' $computerName='aziod5v2-02' $virtualMachineSize='Standard_D5_v2' $vm=New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize -AvailabilitySetId $availabilitySet.Id $virtualNetworkName='<YOUR AZURE VIRTUAL NETWORK NAME>' $resourceGroupNameWhereTheVirtualNetworkIsLocated='<RESOURCE GROUP NAME WHERE YOUR AZURE VIRTUAL NETWORK IS ASSOCIATED WITH>' $subnetIndex=0 $vnet=Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupNameWhereTheVirtualNetworkIsLocated $networkInterfaceCardName='aziod5v2-02_nic_01' $privateStaticIPaddress='<IP ADDRESS OF THE AZIOD5V2-02 VM>' $networkInterfaceCard = New-AzureRmNetworkInterface -Name $networkInterfaceCardName -ResourceGroupName $resourceGroupName -Location $locationName -SubnetId $vnet.Subnets[$subnetIndex].Id -PrivateIpAddress $privateStaticIPaddress $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $networkInterfaceCard.Id $vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true $publisherName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2012-R2-Datacenter" $UserName = '<YOUR ADMIN USER NAME>' $PlainPassword = '<YOUR PASSWORD>' $SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version "latest" $diskLabel='aziod5v2-02_os_01' $diskName='aziod5v2-02_os_01' $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskLabel -VhdUri $osDiskUri -CreateOption fromImage New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locationName -VM $vm