VIJMark benchmarks the performance of three Java toolkits for working with VMware Infrastructure and vSphere: VI (vSphere) Java API, the vSphere SDK for Java, and the vSphere SDK.
VIJMark is an independent project of Andrew Kutz's at Hyper9 and is in no way associated with VMware.
VIJMark uses seven tests to determine which Java toolkit is the fastest.
testConnect | Tests how quickly a toolkit can establish a connection to a VI server. |
testFindVMUsingSI | Tests how quickly a toolkit can find a VM using the SearchIndex. |
testFindVMUsingNav | Tests how quickly a toolkit can find a VM using the toolkit's navigator (NA for vSphere SDK). |
testDumpVMsUsingPC | Tests how quickly a toolkit can dump all of a VI server's virtual machines using the PropertyCollector. |
testDumpVMsUsingNav | Tests how quickly a toolkit can dump all of a VI server's virtual machines using the toolkit's navigator (NA for vSphere SDK). |
testDumpAllUsingPC | Tests how quickly a toolkit can dump all of a VI server's 3.5 managed entities using the PropertyCollector (Heap error for vSphere SDK). |
testDumpAllUsingNav | Tests how quickly a toolkit can dump all of a VI server's 3.5 managed entities using the toolkit's navigator (NA for vSphere SDK). |
Initial results showed that VI (vSphere) Java API was so blazingly technically superior that the other two toolkits simply did not belong in the same conversation. Through trial and error I discovered how to make the VI SDK for Java use the PropertyCollector (it's not very straight-forward at all), so the vSphere SDK for Java can be said to be on the right track, but...
VI (vSphere) Java API is the clear winner.
VI (vSphere) Java API is the brain-child of VMware's Steve Jin, and there are a few reasons that VI (vSphere) Java API is the best Java toolkit for working with VI.
The vSphere SDK for Java is the official next-generation product from the VI SDK team for working with VI and vSphere in Java. Based on Axis2 instead of the VI SDK's Axis 1.4/1.5 dependency, its speed is much improved, but it still isn't as intuitive or as fast as VI (vSphere) Java API.
The current and official SDK from VMware for working with VI and vSphere, the vSphere SDK is incredibly slow because of its Axis 1.4/1.5 dependency and should be avoided at all costs.
Running VIJMark is a simple 4 step process:
svn co https://vijmark.svn.sourceforge.net/svnroot/vijmark/trunk vijmark
VIJMARK_SERVER | The IP address or FQDN of the VI server to use. |
VIJMARK_USERNAME | The user name to use. |
VIJMARK_PASSWORD | The password to use. |
VIJMARK_VM_NAME | The name of the VM to search for (should be name of VM specified in VIJMARK_VM_FQDN. |
VIJMARK_VM_FQDN | The FQDN of the VM to search for (should be FQDN of VM specified in VIJMARK_VM_NAME. |
VIJMARK_PRINT | Simply set this variable if you want the dumper tests to print out the dumps to stdout, otherwise the dumps go to the bit bucket. |
mvn clean surefire-report:report site:site