In the recent past, we’ve discouraged customers from running Kiln in a virtual machine. If you’re unsure whether or not you should run Kiln on a physical or virtual machine, it’s still probably best to choose a physical machine.
However, if you’re confident in your VM infrastructure (for example, you’re using a SAN with faster I/O than physical hard drives), feel free to try running Kiln in your virtual environment. Fog Creek will continue to support your installation, but we do have two caveats:
- Because Fog Creek is not able to test new releases of Kiln in your specific VM environment, we strongly recommend waiting several weeks before installing a new version of Kiln*. We’ve seen bugs that have negatively impacted customers running on a VM. While we will of course quickly release a patch for any critical bugs, delaying your upgrade can help to avoid unnecessary downtime.
- Mercurial and Kiln generate a large amount of disk I/O during normal usage. We’ve optimized a lot of this for physical hard disks through various techniques, and on real disks, Kiln performs great. While some installations will perform OK on a VM, we’ve seen some VM installations that have performed abysmally and the only solution was to migrate to a physical machine. If you run Kiln in a virtual machine and performance seems to be suffering, we’ll check for obvious bottlenecks related to the Kiln application, but we’re limited in how far we can troubleshoot performance in a virtual environment. To improve performance, we may ask that you migrate to a physical machine or wait until we are able to reproduce the issue with customers running Kiln on a physical machine.
Please make sure that your Kiln configuration meets the recommended system requirements.
* A “new version of Kiln” includes minor or major version bumps, e.g. upgrading from Kiln 2.6.X to 2.7.X. A “point release” update, e.g. from Kiln 2.7.22 to 2.7.29, is still considered Kiln 2.7, but the update was created to include bug fixes specific to the 2.7 release.
We’re not VM experts, so we’re not able to recommend best practices for configuring your virtual environment. However, we can offer several things that you definitely should not do in regards to running Kiln on a virtual machine.
- Don’t use an expandable virtual hard disk image that gets larger as disk requirements increase. This will destroy performance.
- Don’t host your Kiln repositories directory on a network drive. If the network drive happens to be a SAN, it might work, but we can’t guarantee performance.
- Some VM vendors offer a tool that will automatically migrate a physical machine to a virtual environment. We’ve seen virtual environments created in this manner that have suffered severe performance degradation in anything related to disk I/O. If you need to migrate Kiln from a physical to a virtual environment, it’s best to work with a clean Kiln install on the new machine. See How do I move a Kiln install from one server to another?.