...

*Cube-Host– full cloud services!!

Windows VPS: performance optimization

Windows VPS: performance optimization

Quick audit: Task Manager + PerfMon

1. Open Task Manager → Performance and view the load on CPU, Memory, Disk, Ethernet. For a quick disk check, focus on “Active time” and “Average response time.”

Windows VPS

2. Run perfmon.mscPerformance Monitor+ and add the basic counters:

  • CPU: % Processor Time, % Privileged Time, % User Time
  • Memory: Available MBytes, Pages/sec
  • Disk: Avg. Disk sec/Transfer, Disk Transfers/sec, Avg. Disk Queue Length
  • Save in Data Collector Set for 1–5 minutes to get a report.
Windows VPS

Clean up and tidy up

Disk Cleanup (cleanmgr): Explorer → C: drive → Properties → Disk Cleanup → Clean up system files. Select Windows Update Cleanup, temporary files, recycle bin, and WER.

Windows VPS

Autostart:

  cleanmgr /sageset:11
cleanmgr /sagerun:11  

In Windows Server 2019/2022, enable Storage Sense to automatically clean up Temp/Downloads/Recycle Bin on a schedule.

Disks: objective speed measurement

Install DiskSpd and run the test (example — 40% write, 60% read; 64K block; 8 threads; 32 queue; 180 sec):

  diskspd.exe -c20G -d180 -r -w40 -t8 -o32 -b64K -Sh -L E:\testfile.dat > C:\Logs\diskspd.txt  

See IOPS, AvgLat (ms), and MiB/s; stable disk latency in prod — <10–25 ms if possible.

Windows VPS

If disk graphs are not visible in Task Manager on older systems: run diskperf -y and restart Task Manager.

Network: removing oversights (RSC/VMQ/RSS/LSO)

On a number of configurations, disabling some offload functions and carefully configuring TCP helps:

  # Check/disable RSC
Get-VMSwitch | Select Name,*RSC*         # check the status
Set-VMSwitch -Name "vSwitchName" -EnableSoftwareRsc $false

# VMQ — if the driver is acting up
Get-NetAdapterVmq
Set-NetAdapterVmq -Name "Ethernet" -Enabled $false

# We selectively disable LSO/RSS on the adapter and check the measurements.
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Large Send Offload v2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Receive Side Scaling"         -DisplayValue "Disabled" -NoRestart  

After each step, measure using PerfMon/iperf/SMB copying to avoid “fixing one thing and breaking another.”

Antivirus: exceptions for “hot” paths

To prevent the scanner from throttling I/O (SQL, log folders, caches), add exceptions in Microsoft Defender:

  Add-MpPreference -ExclusionPath "C:\SQLData","D:\IISLogs","C:\ProgramData\AppCache"
Add-MpPreference -ExclusionProcess "sqlservr.exe","w3wp.exe"
Add-MpPreference -ExclusionExtension ".mdf",".ldf",".ndf",".bak",".log"
  

Parameters and commands — in the official Defender documentation.

Memory and pagefile

Keep 15–20% of RAM free for the file cache. Pagefile — “System-selected” or fixed (min=RAM, max≈1.5×RAM, if full crash dumps are needed).

SMART/drive health

Check for SSD/HDD predictive errors:

  wmic diskdrive get status
Get-StorageReliabilityCounter | Format-List  

If you see media degradation, plan your migration before an incident occurs.

Checklist

  • PerfMon reports before/after, alerts on CPU/disk/network.
  • Disk Cleanup/Storage Sense configured.
  • DiskSpd shows acceptable latency.
  • Network offloads checked (RSC/VMQ/RSS/LSO).
  • Defender exceptions for “hot” paths/processes.
  • SMART monitoring without warnings.