Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am in the process of running some benchmark tests on a variety of RDBMSes, and I am testing three different client operating systems.

Would it be terrible to partition the HDD and install Ubuntu, Windows 7 and Solaris 10? If I do not do this, I will likely have to re-install the O.S numerous times due to changes in the database server OS as well. The same question goes for the server; would it drastically affect the performance to install three server OSes on one server?

share|improve this question

migrated from Apr 23 '11 at 19:48

This question came from our site for professional and enthusiast programmers.

This is where VMs come in handy – Romain Hippeau Apr 23 '11 at 19:41
VMs are not ideal for running benchmarks, especially I/O bound benchmarks like RDBMS testing. – Michael Greene Apr 23 '11 at 19:42
Buy a few disks. – Erik Apr 23 '11 at 19:43
That was my thinking, I may end up having to partition as I am running low on time. Although if this is going to make a drastic difference in performance I would likely have to work quicker and install each o.s at a time. – Anonymous Apr 23 '11 at 19:43
For some reason when the question was moved from stack overlow I was unable to make comments etc. Thanks for all your advice I believe there are 36 combinations to test. With about 15-30 tests to perform. Thanks again! – Simon Cottrill Apr 23 '11 at 20:17

The client-side software is likely to be fine sharing a single disk between three separately bootable o/s. You might even be able to use VMs sensibly here.

The server-side software is much more fraught - you will be in grave danger of comparing apples and oranges and melons because if you partition the server disk into 3 sections, you may end up with different performance for the inner vs middle vs outer section of the disk. That said, the seek time is probably most important, and since you'd be sweeping just one third of the disk instead of the full disk, you might get slightly better performance in the test environment (with more limited capacity) than in a production environment. If you reinstall the different o/s each time on the machine, you might still get different performances because of the default layouts of the systems on the disk. Benchmarking is very hard when done properly.

Note that any of the client systems should be able to communicate with any of the server systems; you could have 9 combinations to test.

share|improve this answer

There's nothing wrong with repartitioning a laptop - I'm currently doing it, and it runs fine.

One alternative physically swapping between disks (easy on some laptops, like thinkpads, hard on others). It's probably your best option if you intend to do a lot of swapping around, and want to save time.

A second option I'd suggest is getting each OS up to a baseline install and imaging it, then restoring it as needed - if there's not a huge amount of data per OS this should at most take 15-20 minutes per partition. You can then modify/update on that system, reimage and work on that as needed.

On a server, if you have the space and resources, you could probably get away with multiple hard drives.

share|improve this answer

The best practice while benchmarking is to recreate the production environment and keep environment identical for each option .What I would suggest is that you do a fresh install of all the OS and carry out all the benchmarking processes.(Only one OS at one time on the machine)

This may sound tedious but this is the only way you are going to get genuine benchmarking reults .
You can check you nhinkle's blog entry Spring 2011 Browser Roundup to see how he sets up the testing environment.

share|improve this answer

There is a good chance you cannot do this at all accurately with what you have. I'm assuming in the end the RDBMS will be deployed on a baremetal server. Or perhaps on a VM. Regardless, if you are not testing the same environment, there will be all kinds of caching, I/O, CPU latencies that will drastically warp your benchmark.

So if, and ONLY if, you plan to run this OS and the database Server on this laptop will the benchmarking be accurate. Otherwise it may be "interesting" but not even necessarily accurate for relative testing, let alone absolute testing.

share|improve this answer
This is part of some university research... The platform used for testing on the client side is an Intel(R) Core(TM) i3 CPU M330 @ 2.13GHz with 4GB Ram and an Atheros AR9285 Wireless Network Adapter. The client side operating systems used for testing are Windows 7 Home Premium 64 bit operating system, Ubuntu 10.10 notebook edition and Solaris 10 operating system. Each operating system used for testing will feature its default install settings. The RDBM’s being tested are MySQL Community Server 5.6.2, the – Anonymous Apr 23 '11 at 19:47
respective PostgreSQL edition for each server operating system, the respective FirebirdSQL edition for each server operating system and Oracle Database 11g releases for each server operating system. Each release will be tested without performance tuning. The server operating systems being tested are Windows Server 2008, Oracle Solaris 10 server edition and Ubuntu 10.10 server edition. Each server operating system used for testing will feature its default install settings. All tests are conducted on the specified machines utilising the Java programming language. – Anonymous Apr 23 '11 at 19:48

You must log in to answer this question.