This article applies as of PRTG 19


When running PRTG on a virtual machine, for example, VMware, I encounter some performance and stability issues. Are there recommendations for settings when running PRTG on a VM?


Important Notice:
We do not update this article anymore. For up-to-date rules and guidelines for running large installations of PRTG on VMware, see our Best Practice Guide: Running large installations of PRTG in a virtual environment.

Checklist for Running PRTG on VMware

General Recommendations

If you run PRTG on a virtual machine, keep in mind the following recommendations for acceptable performance:

  • For a cluster setup, divide these values by the number of cluster nodes when running the PRTG core server on a virtual machine.
  • Use really fast storage: Physical storage directly on the PRTG core server is much faster than storage over the network. However, network storages can be configured in failover mode: If an ESX server fails, the storage will be moved immediately to another one, so it has little impact on PRTG. Measure the advantages against the disadvantages in your setup.
  • Use long sensor scanning intervals of 15 minutes or more.
  • Make sure that clocks are synchronized: On your VM’s guest operating system, VMware Tools should be installed. Ensure that the system time of VMware is synchronized with the time of the host system or an NTP server, but not both. Check that the host syncs time correctly as well. If clocks are unsynchronized, PRTG probes might be unable to connect, and HTTP requests to the PRTG webserver can fail as well, mainly when using HTTPS. In addition, HTTP sensors can fail (especially when monitoring websites via HTTPS) if the time difference between the system running the probe and the target system is too big. Running the Network Time Protocol (NTP) client on the ESX host and the domain controller can keep clocks synchronized over a network.
  • Use VMware 5 to reduce resource issues. Avoid earlier VMware versions
  • Consider that PRTG creates a lot of input/output (I/O) on your system. Other VMs might interfere with this traffic. To reduce related bottlenecks, use VMware 5. Avoid earlier VMware versions.
  • Configure your VM to have the CPU cores on the same CPU socket. CPU cores on individual sockets may result in serious performance issues. Scheduling threads over different sockets in such a configuration has a high impact on the operating system so that Windows may not do it at all. This means that PRTG can only use 1 CPU with 1 core in this configuration and cannot work properly.
  • Use a VMXNET (original, 2 or 3)network adapter instead of an emulated one (Vlance, e1000x). You must install or update the VMware Tools on the guest OS to have a driver for the VMXNET network adapters available.


Resource Management

Resource management for your virtual machines is more important the bigger your environment is. There are more performance issues with environments running several VMs.

To run PRTG on a VM, consider customizing resource allocation settings to obtain the best possible performance for the VM with PRTG. This issue especially concerns the resource types CPU, memory, and storage.

For detailed information about resource management for VMware, see the official documentation vSphere Resource Management.

You have the following options to increase the performance of the virtual machine PRTG is running on:

  • Make sure that a fixed amount of the physical memory of your host server is assigned to the virtual machine running PRTG. We recommend 8 GB or more.
  • For best performance of your PRTG server(s), ensure that your host system always assigns resources to the virtual machine running PRTG with higher priority than to other VMs, depending on your needs.

To achieve this, set Resource Allocation Shares to High for the virtual machine running PRTG, and guarantee a minimum allocation for this VM with Resource Allocation Reservation.

Also keep memory ballooning and over-provisioning in mind:

  • Memory ballooning: This is a memory over-commitment mechanism for multiple virtual machines while they are running. Memory that was allocated to a virtual machine can be given to another virtual machine without manually changing settings. This can affect performance and stability of PRTG. To avoid this issue, customize your VMware settings as described above.
  • Over-provisioning: This is the difference between the physical capacity of CPU and memory, and the logical capacity through the operating system as available for the user. The host can give the VMs more CPU or memory than physically available. Over-provisioning can lead to resource bottlenecks and can affect the performance and stability of PRTG. For this reason, customize your VMware settings as described above.


Potential Problems with VMXNET 3 Virtual NIC Cards and Hardware Offload Engine

We had situations where customers used the VMXNET 3 virtual network cards and encountered corrupted UDP packets (Bad checksum) related to the hardware offload engine used in VMware NIC (this means, disable TCP/UDP checksum offloading on the network adapter from within the guest operating systems). This resulted in UDP packets loss, unstable SNMP monitoring, and other effects.

See the VMware knowledge base article about this particular NIC driver (browse to section VMXNET 3): Choosing a network adapter for your virtual machine



Disclaimer:
The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.