Perf test enchancements (#228)
This commit is contained in:
Родитель
2564105830
Коммит
384e5aba48
Двоичные данные
bootstorm-vm-boot-time/VMBootAll.zip
Двоичные данные
bootstorm-vm-boot-time/VMBootAll.zip
Двоичный файл не отображается.
|
@ -44,6 +44,17 @@
|
|||
"metadata": {
|
||||
"description": "VM size supported by Azure Stack."
|
||||
}
|
||||
},
|
||||
"vmOsSku": {
|
||||
"type": "string",
|
||||
"defaultValue": "2012-R2-Datacenter",
|
||||
"allowedValues": [
|
||||
"2012-R2-Datacenter",
|
||||
"2016-Datacenter"
|
||||
],
|
||||
"metadata": {
|
||||
"description": "VM size supported by Azure Stack."
|
||||
}
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
|
@ -52,11 +63,11 @@
|
|||
"addressPrefix": "10.0.0.0/16",
|
||||
"location": "[resourceGroup().location]",
|
||||
"subnetName": "[concat('vsn', resourceGroup().name)]",
|
||||
"subnetPrefix": "10.0.0.0/24",
|
||||
"subnetPrefix": "10.0.0.0/16",
|
||||
"storageAccountType": "Standard_LRS",
|
||||
"uniqueStorageAccountName": "[concat('sa', resourceGroup().name)]",
|
||||
"uniqueStorageAccountContainerName": "[concat('sc', resourceGroup().name)]",
|
||||
"vmOsSku": "2012-R2-Datacenter",
|
||||
"vmOsSku": "[parameters('vmOsSku')]",
|
||||
"vmAdminUsername": "vmadministrator",
|
||||
"vmAdminPassword": "pwd0a!8b7",
|
||||
"vmName": "[concat('vm', resourceGroup().name)]",
|
||||
|
@ -70,7 +81,8 @@
|
|||
"modulesPath": "https://raw.githubusercontent.com/Azure/AzureStack-QuickStart-Templates/master/bootstorm-vm-boot-time/",
|
||||
"moduleVMBootAll": "VMBootAll.zip",
|
||||
"modulesUrlVMBootAll": "[concat(variables('modulesPath'),variables('moduleVMBootAll'))]",
|
||||
"configurationFunctionVMBootAll": "VMBootAll.ps1\\ConfigureVMBootAll"
|
||||
"configurationFunctionVMBootAll": "VMBootAll.ps1\\ConfigureVMBootAll",
|
||||
"controllerVmSize": "Standard_A2"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
|
@ -189,7 +201,7 @@
|
|||
],
|
||||
"properties": {
|
||||
"hardwareProfile": {
|
||||
"vmSize": "[parameters('vmSize')]"
|
||||
"vmSize": "[variables('controllerVmSize')]"
|
||||
},
|
||||
"osProfile": {
|
||||
"computerName": "[variables('vmName')]",
|
||||
|
@ -259,7 +271,7 @@
|
|||
"osDisk": {
|
||||
"name": "osdisk",
|
||||
"vhd": {
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),'/',concat(variables('vmOsDiskName'),copyIndex()),'.vhd')]"
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),copyIndex(),'/',concat(variables('vmOsDiskName'),copyIndex()),'.vhd')]"
|
||||
},
|
||||
"caching": "ReadWrite",
|
||||
"createOption": "FromImage"
|
||||
|
@ -311,7 +323,8 @@
|
|||
},
|
||||
"AzureStorageAccount": "[variables('uniqueStorageAccountName')]",
|
||||
"AzureStorageAccessKey": "[listKeys(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')), '2015-06-15').key1]",
|
||||
"AzureStorageEndpoint": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('uniqueStorageAccountName')), '2015-06-15').primaryEndpoints['blob']]"
|
||||
"AzureStorageEndpoint": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('uniqueStorageAccountName')), '2015-06-15').primaryEndpoints['blob']]",
|
||||
"AzureSubscription": "[subscription().subscriptionId]"
|
||||
}
|
||||
},
|
||||
"protectedSettings": {
|
||||
|
@ -323,4 +336,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
Двоичные данные
iostorm-vm-iops-latency/VMIOWorkload.zip
Двоичные данные
iostorm-vm-iops-latency/VMIOWorkload.zip
Двоичный файл не отображается.
Двоичные данные
iostorm-vm-iops-latency/VMIOWorkloadController.zip
Двоичные данные
iostorm-vm-iops-latency/VMIOWorkloadController.zip
Двоичный файл не отображается.
|
@ -9,6 +9,13 @@
|
|||
"description": "Number of VMs to create and run IO simulation in determining the maximum IOPS reached without exceeding specified latency thresholds as acceptable performance limit."
|
||||
}
|
||||
},
|
||||
"vmAdminPassword": {
|
||||
"type": "securestring",
|
||||
"defaultValue": "[concat('Subscription#',subscription().subscriptionId)]",
|
||||
"metadata": {
|
||||
"description": "Admin password for the VMs"
|
||||
}
|
||||
},
|
||||
"vmOsSku": {
|
||||
"type": "string",
|
||||
"defaultValue": "2012-R2-Datacenter",
|
||||
|
@ -43,6 +50,13 @@
|
|||
"metadata": {
|
||||
"description": "VM IO workload target data disk size in GB."
|
||||
}
|
||||
},
|
||||
"WaitForIoStormCompletion": {
|
||||
"type": "bool",
|
||||
"defaultValue": true,
|
||||
"metadata": {
|
||||
"description": "If true template will not complete deployment until IO test is complete."
|
||||
}
|
||||
},
|
||||
"vmIoLatencyThresholdInMS": {
|
||||
"type": "int",
|
||||
|
@ -51,6 +65,13 @@
|
|||
"description": "VM IO workload latency threshold in milliseconds."
|
||||
}
|
||||
},
|
||||
"vmIoStartOperations": {
|
||||
"type": "int",
|
||||
"defaultValue": 1,
|
||||
"metadata": {
|
||||
"description": "Operations per file per thread to start goal seeking at."
|
||||
}
|
||||
},
|
||||
"vmIoDurationInSec": {
|
||||
"type": "int",
|
||||
"defaultValue": 60,
|
||||
|
@ -71,7 +92,14 @@
|
|||
"metadata": {
|
||||
"description": "VM IO workload read percentage."
|
||||
}
|
||||
}
|
||||
},
|
||||
"vmFixedIops": {
|
||||
"type": "int",
|
||||
"defaultValue": 0,
|
||||
"metadata": {
|
||||
"description": "If non-0 each VM will perform vmFixedIops indefinitely."
|
||||
}
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
"imagePublisher": "MicrosoftWindowsServer",
|
||||
|
@ -83,8 +111,7 @@
|
|||
"storageAccountType": "Standard_LRS",
|
||||
"uniqueStorageAccountName": "[tolower(concat('sa', resourceGroup().name))]",
|
||||
"uniqueStorageAccountContainerName": "[tolower(concat('sc', resourceGroup().name))]",
|
||||
"vmAdminUsername": "vmadministrator",
|
||||
"vmAdminPassword": "[subscription().subscriptionId]",
|
||||
"vmAdminUsername": "vmadministrator",
|
||||
"vmName": "[concat('vm', resourceGroup().name)]",
|
||||
"vmOsDiskName": "[concat('od', resourceGroup().name)]",
|
||||
"vmDataDiskName": "[concat('dd', resourceGroup().name)]",
|
||||
|
@ -100,7 +127,9 @@
|
|||
"modulesUrlVMIOController": "[concat(variables('modulesPath'),variables('moduleVMIOController'))]",
|
||||
"modulesUrlVMIOWorkload": "[concat(variables('modulesPath'),variables('moduleVMIOWorkload'))]",
|
||||
"configurationFunctionVMIOController": "VMIOWorkloadController.ps1\\ConfigureVMIO",
|
||||
"configurationFunctionVMIOWorkload": "VMIOWorkload.ps1\\ConfigureVMIO"
|
||||
"configurationFunctionVMIOWorkload": "VMIOWorkload.ps1\\ConfigureVMIO",
|
||||
"publicIPAddressName": "[tolower(concat('vmpip',resourceGroup().name))]",
|
||||
"dnsPrefix": "[tolower(concat('vmdns', resourceGroup().name))]"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
|
@ -160,13 +189,29 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/publicIPAddresses",
|
||||
"name": "[variables('publicIPAddressName')]",
|
||||
"apiVersion": "2015-05-01-preview",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"publicIPAllocationMethod": "Dynamic",
|
||||
"dnsSettings": {
|
||||
"domainNameLabel": "[variables('dnsPrefix')]"
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('vnetID')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiVersion": "2015-06-15",
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"name": "[variables('vmNicName')]",
|
||||
"location": "[variables('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/virtualNetworks/',variables('virtualNetworkName'))]"
|
||||
"[concat('Microsoft.Network/virtualNetworks/',variables('virtualNetworkName'))]",
|
||||
"[concat('Microsoft.Network/publicIPAddresses/',variables('publicIPAddressName'))]"
|
||||
],
|
||||
"properties": {
|
||||
"ipConfigurations": [
|
||||
|
@ -176,6 +221,9 @@
|
|||
"privateIPAllocationMethod": "Dynamic",
|
||||
"subnet": {
|
||||
"id": "[variables('subnetRef')]"
|
||||
},
|
||||
"publicIPAddress": {
|
||||
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -219,12 +267,12 @@
|
|||
],
|
||||
"properties": {
|
||||
"hardwareProfile": {
|
||||
"vmSize": "[parameters('vmSize')]"
|
||||
"vmSize": "Standard_A4"
|
||||
},
|
||||
"osProfile": {
|
||||
"computerName": "[variables('vmName')]",
|
||||
"adminUsername": "[variables('vmAdminUsername')]",
|
||||
"adminPassword": "[variables('vmAdminPassword')]"
|
||||
"adminPassword": "[parameters('vmAdminPassword')]"
|
||||
},
|
||||
"storageProfile": {
|
||||
"imageReference": {
|
||||
|
@ -278,7 +326,7 @@
|
|||
"osProfile": {
|
||||
"computerName": "[variables('vmName')]",
|
||||
"adminUsername": "[variables('vmAdminUsername')]",
|
||||
"adminPassword": "[variables('vmAdminPassword')]"
|
||||
"adminPassword": "[parameters('vmAdminPassword')]"
|
||||
},
|
||||
"storageProfile": {
|
||||
"imageReference": {
|
||||
|
@ -290,7 +338,7 @@
|
|||
"osDisk": {
|
||||
"name": "osdisk",
|
||||
"vhd": {
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),'/',concat(variables('vmOsDiskName'),copyIndex()),'.vhd')]"
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),copyIndex(),'/',concat(variables('vmOsDiskName'),copyIndex()),'.vhd')]"
|
||||
},
|
||||
"caching": "ReadWrite",
|
||||
"createOption": "FromImage"
|
||||
|
@ -298,7 +346,7 @@
|
|||
"dataDisks": [
|
||||
{
|
||||
"vhd": {
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),'/',variables('vmDataDiskName'),copyIndex(),'-0','.vhd')]"
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),copyIndex(),'/',variables('vmDataDiskName'),copyIndex(),'-0','.vhd')]"
|
||||
},
|
||||
"name": "[concat(variables('vmDataDiskName'),copyIndex(),'-0')]",
|
||||
"createOption": "Empty",
|
||||
|
@ -308,7 +356,7 @@
|
|||
},
|
||||
{
|
||||
"vhd": {
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),'/',variables('vmDataDiskName'),copyIndex(),'-1','.vhd')]"
|
||||
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob,variables('uniqueStorageAccountContainerName'),copyIndex(),'/',variables('vmDataDiskName'),copyIndex(),'-1','.vhd')]"
|
||||
},
|
||||
"name": "[concat(variables('vmDataDiskName'),copyIndex(),'-1')]",
|
||||
"createOption": "Empty",
|
||||
|
@ -353,12 +401,15 @@
|
|||
"VMName": "[variables('vmName')]",
|
||||
"VMCount": "[parameters('vmCount')]",
|
||||
"VMAdminUserName": "[variables('vmAdminUsername')]",
|
||||
"VMAdminPassword": "[variables('vmAdminPassword')]",
|
||||
"VMAdminPassword": "[parameters('vmAdminPassword')]",
|
||||
"VMIoMaxLatency": "[parameters('vmIoLatencyThresholdInMS')]",
|
||||
"VMIoStartOperations": "[parameters('vmIoStartOperations')]",
|
||||
"Location": "[variables('location')]",
|
||||
"AzureStorageAccount": "[variables('uniqueStorageAccountName')]",
|
||||
"AzureStorageAccessKey": "[listKeys(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStorageAccountName')), '2015-06-15').key1]",
|
||||
"AzureStorageEndpoint": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('uniqueStorageAccountName')), '2015-06-15').primaryEndpoints['blob']]"
|
||||
"AzureStorageEndpoint": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('uniqueStorageAccountName')), '2015-06-15').primaryEndpoints['blob']]",
|
||||
"WaitForIoStormCompletion" : "[parameters('WaitForIoStormCompletion')]",
|
||||
"FixedIops": "[parameters('vmFixedIops')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -388,14 +439,15 @@
|
|||
"ControllerVMPrivateIP": "[reference(variables('vmNicName')).ipConfigurations[0].properties.privateIPAddress]",
|
||||
"VMName": "[concat(variables('vmName'),copyIndex())]",
|
||||
"VMAdminUserName": "[variables('vmAdminUsername')]",
|
||||
"VMAdminPassword": "[variables('vmAdminPassword')]",
|
||||
"VMAdminPassword": "[parameters('vmAdminPassword')]",
|
||||
"VMIoBlockSize": "[parameters('vmIoBlockSizeInBytes')]",
|
||||
"VMIoDuration": "[parameters('vmIoDurationInSec')]",
|
||||
"VMIoReadPercentage": "[parameters('vmIoReadPercentage')]",
|
||||
"VMIoMaxLatency": "[parameters('vmIoLatencyThresholdInMS')]"
|
||||
"VMIoMaxLatency": "[parameters('vmIoLatencyThresholdInMS')]",
|
||||
"FixedIops": "[parameters('vmFixedIops')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче