Virtualization technologies (such as VMware, Parallels, Xen, KVM, Waratek, etc.) have become very popular for good reasons, including but not limited to the following:
- Application density can be increased
- Server resource usage can be maximized
- Hardware costs can be reduced many-fold
- The number of servers required to run the same load can be reduced
- Applications become more portable
- Different applications behave differently in a virtualized environment and some are more suitable than others
- Performance or stability could be affected in a virtualized environment
- Virtual machine sizing can drastically affect application behavior
- Application configuration can be different when run in a virtualized environment.
- Include online and batch test cases as well as administrative operations
- Test bare metal (physical server) as a baseline to be compared to virtualization results
- See how many instance of the application can be run on bare metal
- Push bare metal up to server capacity
- Test virtualization
- Run VMs on the same bare metal server or an equivalent one
- Push one VM up to capacity, then two VMs, then three VMs, etc., up to the highest density desired.
- Capture hypervisor server resource usage metrics (cpu, memory, disk, network)
- Verify that VM performance compares reasonably relative to bare metal
- Verify that VM capacity compares reasonably relative to bare metal
- Verify that VM application stability compares reasonably relative to bare metal
- If performance or stability is not acceptable, see if application tuning is needed or virtual machine tuning is needed.
- Include stability tests in which high load is applied for an extended period of time.
- Perform administrative operations while system is under high load.
- Once performance and stability are acceptable, publish the results and the tuning and configuration needed to achieve acceptable results.
No comments:
Post a Comment