0
I have a client who has multiple machines accesing a database on a guest OS on Virtualbox (XP). They call me all the time to complain about how their apps on their systems freeze randomly when accessing the database.
This didn't happen before I migrated the old server to a VM.
Are there any tweaks I can setup to speed up VB?
I have hardware virtualization turned on within VB AND the BIOS. (Not sure if this would have adverse effects.)
I have also allocated a solid 4 gigs of memory to the guest OS with the other 4 for the host.
How many CPU cores do you have assigned to their box? Also, what is the underlying HDD/SDD that the VM is hosted on? Any reason why you're using VirtualBox instead of a bare-metal hypervisor like Proxmox? – kobaltz – 2013-07-05T20:17:56.197
You could have the VM on a platter and have a secondary VM HDD on a SSD that is used for the Database. This would increase the IOPS which is typically the biggest slowdowns on VMs. – kobaltz – 2013-07-05T20:20:47.457
The host system has a Quad core CPU. I don't remember assigning more than one core. Maybe this could be the problem? Would assigning 3 cores to the guest and one to the host be a healthy ratio? The host is Ubuntu 12.04 Server running only virtualbox, a basic gui and ssh. – Scandalist – 2013-07-06T01:23:22.213
Probably I/O related. Put VM on separate disk. Turn off disk caching. You can put the database on dedicated disk too. Next step might be to check into your database tuning options. And there is no reason to hold back cores if the VM is more important than the host. Give it at as many cores as the DB can utilize; 3 of 4, or even 4 of 4 with a 90-95% cap would not be a problem. Virtualbox doesn't allocate cores like RAM. If the VM is idle, the processing power will be available to the host. Your RAM should be fine if your not maxing it's usage out that is your not using 3.9GB of 4GB. – Damon – 2013-08-02T06:14:15.973