Categories:
Disclaimer: this text is an draft combining references cited at the bottom with experiences. It is not authoritative.
Getting to the Settings
- In Hyper-V, enter Settings for a VM, click on a disk image under a controller, open the plus sign, and you’ll see Advanced Features.
- Click on that, and you’ll see a checkbox, “Enable Quality of Service management”.
- If you check that box, you can enter minimum and maximum IOPS numbers.
- If either number is zero, the configuration is inoperative, it reverts to automatic.
- It is a separate setting for each disk image of the guest.
Determining Good Values for the Settings
- In an administrative powershell on the virtual host, do this, just once forever:
get-VM | Enable-VMResourceMetering
- Run Iometer on the virtual guest.
- Choose one disk under Disk targets. Set Write IO Data Pattern “Pseudo random”. Set “Test Connection Rate” to 10.
- Under Access Specifications, scroll to the bottom, choose All in one, and click Add.
- If you want interesting GUI displays of the I/O readouts, make changes under Results Display.
- Under Test Setup, open the Cycling Options dropdown and choose carefully. You’ll probably want to Cycle, but which other setting you want depends on the architecture of the guest and possibly the host.
- Click the green flag button. The chosen disk image is now under load. You may want to try higher numbers for “Test Connection Rate”, but do realize this sets how hard we are trying to stress the server, and if we try too hard bad things can happen :-)
- While the disk image is under load, in administrative PowerShell, do this, where GUESTNAME is the name of the virtual guest:
measure-VM GUESTNAME | fl
- You’ll see a number next to AggregatedAverageNormalizedIOPS. If your guest has just one disk image, this is the number you need to study (but do not just plug it into the setting!). If your guest has more than one, you’ll need to split them with the code below.
- Splitting the AggregatedAverageNormalizedIOPS number
Paste the below into your PowerShell on the host, where GUESTNAME is the name of the guest. It will give you separate numbers, including IOPS Averages for every disk image in production.
$VMName = "GUESTNAME"
enable-VMresourcemetering -VMName $VMName
$VMReport = measure-VM $VMName
$DiskInfo = $VMReport.HardDiskMetrics
write-Host "IOPS info VM $VMName" -ForegroundColor Green
$count = 1
foreach ($Disk in $DiskInfo)
{
Write-Host "Virtual hard disk $count information" -ForegroundColor cyan
$Disk.VirtualHardDisk | fl *
Write-Host "Normalized IOPS for this virtual hard disk" -ForegroundColor cyan
$Disk
$count = $Count +1
}
- Once you have your Average Normalized IOPS number for the virtual disk, we need to think about it a bit.
- On one particular setup with two virtuals having one disk image each, where the number showed at 20,000, I set Maximums all to 7000, and Minimums to 1000. This leaves the hypervisor with lots of headroom for its own maintenance, and causes the hypervisor to keep minimum reservation far from zero, to minimize latency. Obviously the Minimum will be much lower if the RAID on the host is less powerful, and just as obviously if load patterns become evident, maximum will be reduced or increased.
- More variation will need to be employed, depending on observed numerical and practical performance, changes, and miscellaneous needs. A huge and heavily-used volume should deserve to be bumped up some. Early inspection has already shown that there are virtual hosts out there, otherwise nicely fledged servers, lacking in RAID throughput, where the reported average comes to less than 1,100! All of this has to come into consideration.
References
https://social.technet.microsoft.com/Forums/windowsserver/en-US/87f010a2-88c7-425d-a7a9-35dcf94d9a48/hyper-v-iops-calculation?forum=winserverhyperv
https://blog.workinghardinit.work/2014/01/08/how-to-measure-iops-of-a-virtual-machine-with-resource-metering-and-measurevm/
Categories:
Virtual Machines & Environments
This article states that it applies to click-to-run 2013 and later, which certainly includes 365. Its registry entries permit automatic updates to be turned off and on, and also, for the on-PC UI item to be turned off and on too.
https://support.microsoft.com/en-us/help/2753538/automatic-updating-for-office-2013-and-office-2016-click-to-run-is-not-enabled
Categories:
Microsoft Office
Microsoft 365
Categories:
Windows Installer, Updates, Patching
In my (J.E.B.) personal experiences, these are wonderful.
Power conditioner:
http://smartpowersystems.com/products/computer-grade-filters-tbf/pos-guardian/
UPS:
http://smartpowersystems.com/products/uninterruptible-power-supplies/
They can be a little tough to find, but persevere, it’s worth it. I learned about these seeing them protect registers at some large retail stores and other non-consumer situations where they really really don’t want things to get hit.
This is a personal recommendation by experience, I shall see no kickback for these words!
Categories:
UPS
Power Protection and UPS
Here is a very good tool for writing an ISO to USB flash drive in bootable mode, in Windows:
http://rufus.akeo.ie/
Categories:
Tools
On some HP desktop hardware, this is the only way to get drivers and BIOS:
http://ftp.hp.com/pub/caps-softpaq/cmit/HP_SDM.html
Categories:
Drivers
BIOS
A very good SPF checker:
https://vamsoft.com/support/tools/spf-policy-tester
Here is possibly the original SPF checker:
http://www.kitterman.com/spf/validate.html
To do a deep study of a bounceback, the best tool this writer has ever seen is here:
https://testconnectivity.microsoft.com/
in the Message Analyzer tab. Just paste every header you have into there and submit, and then read. Lots and lots of excellent information comes up.
Categories:
Email
Categories:
Windows OS-Level Issues
Windows Installer, Updates, Patching
This one is very good:
http://lucidchart.com
Categories:
Applications