07.11.2014 Views

Enterprise Library Test Guide - Willy .Net

Enterprise Library Test Guide - Willy .Net

Enterprise Library Test Guide - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Test</strong>ing for Performance and Scalability 195<br />

Operation Users TPS<br />

Logging Application 50<br />

Block uses MSMQ<br />

trace listener.<br />

Response time<br />

(ms)<br />

Total transactions<br />

Overhead<br />

(percent)<br />

For an explanation of these metrics, see Measuring Performance.<br />

<strong>Test</strong>ing the Data Access Application Block<br />

The tests for the Data Access Application Block use a variety of database access methods.<br />

To avoid external constraints, such as network I/O or disk I/O for SQL Server,<br />

all the queries to the database return small payloads. Most of the test cases read from<br />

the database. Some of the queries were stored procedures and Transact-SQL script<br />

files that were used with the Northwind sample database. Because the target is <strong>Enterprise</strong><br />

<strong>Library</strong>, it was important to ensure that there were no deadlocks or SQL Server<br />

exceptions to contaminate the measurements. For more information, see Tuning the<br />

<strong>Test</strong> Environment.<br />

Table 11 lists the scenarios for the Data Access Application Block. Here is an explanation<br />

of each of the columns:<br />

● ID. This column lists the ID number for each scenario.<br />

● Scenario. This column lists the Data Access Application Block scenario being<br />

tested.<br />

● Transaction. This column lists that the scenarios are tested both with and without<br />

a transaction.<br />

● Users. This column lists the different numbers of users that the tests simulated.<br />

● Database provider. This column lists the database provider that is used.<br />

Table 11: Data Access Application Block Scenarios<br />

ID Scenario Transaction Users<br />

1 Use a DbDataReader to read With/Without 1, 10, 50, 150,<br />

multiple rows<br />

Transaction 300<br />

2 Use a DataSet to read<br />

multiple rows<br />

3 Use ExecuteDataSet to<br />

execute a stored procedure<br />

that has parameter values<br />

and return the results in a<br />

DataSet.<br />

4 Use ExecuteScalar to<br />

retrieve a single item.<br />

With/Without<br />

Transaction<br />

With/Without<br />

Transaction<br />

With/Without<br />

Transaction<br />

1, 10, 50, 150,<br />

300<br />

1, 10, 50, 150,<br />

300<br />

1, 10, 50, 150,<br />

300<br />

Database<br />

provider<br />

SQL Server<br />

SQL Server<br />

SQL Server<br />

SQL Server<br />

continued

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!