A Principled Technologies test report 16
Virtualized database performance comparison: Dell PowerEdge
R815 vs. IBM System x3850 X5
1. We created the database and file structure using database creation scripts in the DS2 download. We
made size modifications specific to our 2.5GB database and the appropriate changes to drive letters.
2. We created database tables, stored procedures, and objects.
3. We set the database recovery model to bulk-logged to prevent excess logging.
4. We loaded the data we generated into the database.
5. We created indices, full-text catalogs, primary keys, and foreign keys using the database-creation
scripts.
6. We updated statistics on each table according to database-creation scripts, which sample 18 percent of
the table data.
7. On each SQL Server 2008 R2 instance, we created a ds2user SQL Server login using the following
Transact SQL (TSQL) script:
USE [master]
GO
CREATE LOGIN [ds2user] WITH PASSWORD=N’’,
DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[us_english],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
GO
8. We set the database recovery model back to full.
We made the following changes in the build scripts:
Because we varied the size of the datasets, we sized the files in our scripts to reflect the database size
and the number of files per filegroup. We allowed for approximately 40 percent free space in our
database files to ensure that filegrowth activity did not occur during the testing.
We followed Microsoft’s recommendation of having 0.25 to 1 file per filegroup per core. We used 1 file
per filegroup on all servers.
We did not use the DBCC PINTABLE command for the CATEGORIES and PRODUCTS tables, both
because Microsoft recommends against this practice and because the commands do nothing in SQL
Server 2008.
We created a SQL Server login we called ds2user and mapped a database user to this login. We made
each such user a member of the db_owner fixed database role.
Using the DVD Store scripts as a reference, we created the full-text catalog and index on the
PRODUCTS table manually in SQL Server Management Studio.
We then performed a full backup of the database. This backup allowed us to restore the databases to a
pristine state relatively quickly between tests.
Editing the workload script - ds2xdriver.cs module
To use the 2.5GB database we created earlier, we had to change the following constants: