Subject RE: [firebird-support] Re: Firebird performance issues on VM platform - Email found in subject
Author Leyne, Sean

> >P.S. We have 3 MS HyperV servers and 2 VMWare servers in our office --
> HDD performance can be a real problem when dealing with VM
> environments.
> This is very interesting. I'm dealing with a system that was running on a
> dedicated box, that we migrated to a VM about 12 months ago. The users
> are telling me that the very same application that was running acceptably
> fast before, is now slow. From what I can tell, its on relatively complex
> SELECT queries against a pretty large database, and it suggests the same
> issues that others are talking about in regards to hard disk performance.

What is/was the HDD/storage config?

How did the hardware compare between the box and the VM server?

What other VMs are running?

> I'm inclined to leave the application on the VM (its a PHP app) and move the
> database to a dedicated box, not on a VM, to see if this would help however

Moving the database to a separate box could introduce another bottleneck -- the network connection from the VM, to the server host to the database.

> if there are settings that can increase VM performance for hard disk access,
> I'm all ears.

I'll be honest, right now I am in no position to provide suggestions -- we are also experiencing disk IO problems on some VMs. They stem from problems with IO performance to our SANs.

I say some VMs, because there are a number of VMs which are running fine and only some are having problem (the Firebird project Linux snapshot compile server is bad, but the Windows snapshot server is fine).

We have a lot of VMs running, so making config changes and testing them in a reproducible/isolated fashion is very difficult (staff vacations also got in the way). We are in the process of provisioning a temporary SAN to allow us to test the various settings to find the optimal config.

> This is on VMWare ESXi 3.5 with a CentOS 5.3
> 32 bit OS for both the app and Firebird on the same virtual server. Do you
> have any suggestions for any tools to check performance that can be used in
> these environments?

Any system/HDD benchmark tools can be used -- though you want to use tools which have an emphasis on Random disk IO -- which reflects the random nature of database accesses.

The "gold standard" of these tools is IOMeter. I know it is available for both Linux and Windows, but I have only used the Windows EXE -- it is simple to install/configure/run (you may want to create another VM which you can use to perform the testing).