Citrix XenServer Virtual Machine Performance Utility
Citrix have released a new version of XenServer Virtual Machine Performance Utility v. 1.02
I highly recommend using this appliance to troubleshoot storage I&O or network I/O your xenserver environment with.
PerformanceVM is a XenServer virtual machine that helps troubleshoot performance related issues, such as poor performance caused by storage I/O and network I/O. The virtual machine, built on Debian Linux, equips with following test utilities and is accessible using a Web based user interface:
Disk I/O performance utility – It can be used to conduct the following disk I/O operations to measure: sequential read/writes and random read/writes with various specified block sizes. This performance testing utility assesses the performance of a given Storage Repository by reading and writing data to a test virtual disk, created by the user specifically for this test.
Network I/O performance utility – It is essentially a modified version of Netperf. Additional information about Netperf can be found athttp://www.netperf.org. Netperf runs on the backend and provides end-to-end request/response round trip latency and TCP/UDP throughput tests.
- Must be run on XenServer 5.5 or 5.6 and have access to the Pool Master credentials.
- To use the Disk I/O utility, you need a minimum of two gigabytes for each VDI being tested.
- To use the Network I/O utility, Netserver needs a Linux virtual machine or dom0 at a remote site where the destination testing will occur.
Import perfVM1_02.xva to XenServer. It is suggested that local storage is used for the PerformanceVM.
A. Access the console
1. SSH into the virtual machine’s IP address.
B. Prepare the virtual machine
1. From XenCenter or CLI, create and attach VDIs from the storage repositories being tested against for Disk I/O performance (minimum of two gigabytes each).
Warning: Do not attach a pre-existing virtual disk to the PerformanceVM virtual machine, because this corrupts any existing data.
C. Start the Web server
1. Start the Web service using the script and the IP address of XenServer Pool Master (if there is no pool, simply use the IP address of the XenServer that the virtual machine is connected to:
2. When prompted for a password, enter:
The password for the Pool Master.
3. A prompt to inflate thin provisioned VDIs appears. Answer Yes or No.
Note: If the Disk I/O test returns values that are off of the graph, then the above steps probably need to be run in order to accurately reflect the performance.
4. In a Web browser, enter http://[PerfVMAddress]:8888/ to start testing.
Note: If XenServer has not reported the virtual machine’s IP address yet to XenCenter, the scripts fails to run.
Network I/O Performance Utility
Running the Network utility requires that Netserver be installed on a remote system. This can be downloaded from the Network I/O utility page. Netserver can be installed on a Linux virtual machine or dom0 at a remote site, where the destination testing will occur. Start Netserver before running any network performance tests.
Disk I/O Performance Utility
Running the Disk Utility shows real time performance of the specified disk. Access to Dom0 is required to access the performance data, but Dom0 is not modified. It can be run on master or slave machines.
Additional results are provided and display up to the last 10 minutes of a test period. This includes various other counters along with the Disk results. Final results are graphed on a separate results page and might take some time to load depending on the amount of data captured.
- Pressing Enter in the IP field causes a 500 error.
Workaround: Go back and use the Start button to start the test.
- If the wrong IP address is entered, an error occurs.
Workaround: Refresh the page and enter the correct address.
- Netserver can only run on Linux virtual machines at this time.
There is no workaround.
- After starting the script, it asks to inflate xvd[c-z] then fails after answering.
Workaround: No VDI was attached. See Prepare the virtual machine above.
- Shutdown the virtual machine and delete it. Make sure to remove the attached disks along with the virtual machine.
- If running Netserver on a remote system, stop those services and remove the file from the server.