[dba-Tech] VMWare VM and shared RAMDISK

jwcolby jwcolby at colbyconsulting.com
Wed Mar 19 11:50:29 CDT 2008


I got two instances of the same virtual machine going this morning.  A
simple copy of the directory is mostly all that has to be done.  There is
some sort of machine ID which VMWare complains is duplicated when the second
instance fires up, let VMWare correct that and then as the second instance
starts it says there are two machines with the same name on the network.
That required just setting the machine name to be different from the first
and rebooting that VM.

However the second machine will not run the software at the same time as the
first.  I set up virtual disks from the VM supervisor, one for each VM.
Each is a file on the hardware ram disk in the VMWare host machine.  I can
set them up, format them etc but when the second VM starts to run it
eventually reboots.  I am guessing that it is a conflict with the SATA
controller (when accessing the RAM disk) or some such.  It doesn't matter,
at this point I simply cannot run the second VM and have both access their
respective virtual drives on the Hardware RAM disk.  Sigh.

I guess that is why we do testing eh?

John W. Colby
Colby Consulting
www.ColbyConsulting.com 
-----Original Message-----
From: dba-tech-bounces at databaseadvisors.com
[mailto:dba-tech-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Wednesday, March 19, 2008 1:07 AM
To: 'Discussion of Hardware and Software issues'
Subject: [dba-Tech] VMWare VM and shared RAMDISK

Well I never got a software ram disk on the host showing as a shared ram
disk on the VM, however...

I have a Gigabyte iRam hardware ram disk which I have used with varying
success for ages.  It works just as advertised but Accuzip seems to have
issues with using it sometimes.  No se por que.  The iRam is a 4 gig
hardware ram disk that is SATA1 compatible.  It plugs in to a PCI slot but
only takes power from that.  It actually communicates via an SATA port.  

Soooo...

What I did was divide it into two partitions / volumes of 2 gigs apiece,
though it is no longer clear that I even needed to do that.  In the VM host
software I added a new drive, which is just a virtual drive (file on a real
disk).  I made the new drive 2 gigs and placed the file on the RAM drive.  I
then turned on the VM.  Once inside the VM I had to create a 2 gig partition
and format it.  I formatted it as an NTFS drive with 16K sectors (for speed
reasons specific to Accuzip and what I am using it for).  I then placed the
files that I needed in a ram disk and started Accuzip and validated a 1
million record file.  Voila, she works.  I am getting 6.567 million records
/ hour, with a single processor VM machine.  

The VMWare runs on an AMD Phenom quad core with 8 gigs of RAM, Windows
2003x64.  BTW, the VM is Windows 2003x32.

On a real hardware machine with a dual core AMD, running Windows 2003x32
running that same iRam RAMDISK dedicated to that machine I was lucky to get
5.5 million records / hour, and actually averaged around 4 million - which
at the time I thought was excellent.

So basically by moving the Accuzip address validation software into a
virtual machine, I INCREASED the speed of the software, using only a single
core to do so.

Not bad!  8-)

Furthermore if you think about what I did I may be able to use the same
concept to place virtual drives on a RAM disk in the host.  However given
that the hardware ram disk uses no host RAM the iRam might very well be a
better solution anyway.  I can now drop the memory dedicated to the VM since
I was running a 700 meg RAM drive INSIDE if the VM.  Since I am now using a
virtual drive hosted on a hardware RAM drive on the host I can drop the VM
memory by a like amount.  My VM was using 3 gigs so if I drop the VM down to
2.3 gigs I may be able to run two VMs simultaneously.  Or... On the VM host
machine, run the vb.Net program that exports data from SQL Server out to the
Accuzip VM.  IOW run SQL Server 2005x64 and vb.Net, moving data out to
Accuzip running on a virtual machine, and then back in to SQL Server, all on
one single machine.

We shall see.

I just cut the VM back to 2.25 GBytes of memory and reran the address
validation on the same 1 million records.  I am still getting > 6.2 million
records / hour.

Now I need to run two VMs at the same time and see what I get.  I will try
that tomorrow.

BTW running Accuzip native on the Windows 2003x64 with a 2 gig ram drive
(carved out of memory) I was getting over 8 million records / hour, however
that was also with all 4 cores available to the system and a memory RAM
drive which is much faster.

John W. Colby
Colby Consulting
www.ColbyConsulting.com 

_______________________________________________
dba-Tech mailing list
dba-Tech at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-tech
Website: http://www.databaseadvisors.com




More information about the dba-Tech mailing list