RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Scaling Out With Object-Relational Mapping on .NET

This report proves that the robust object-relational mapping technique implemented by Pragmatier Data Tier Builder scales out almost linearly when adding more servers in a Windows 2000 Advanced Server Network Load Balanced (NLB) web farm. An impressive 66 million page requests per day were served with sub second response times (550ms, no image download) by four dual processor PIII application servers with a four-way Xeon database server and a dual processor PIII shared state server.

long with the proliferation of the Internet and large-scale intranets, the requirements of enterprise applications have evolved. Launching a service in an expanding enterprise could put an ever-increasing load on the application forcing more server resources to be added to be able to sustain a reasonable user experience. You are left with two choices, scale up or scale out.

An application that performs well is no guarantee that it will scale well and the only way to know for sure is to test.

To verify the scalability of applications employing the object-relational mapping technique implemented by Pragmatier Data Tier Builder, we have performed extensive scalability testing of the Pragmatier PetMarché sample project. This is an account of the results of these tests.


The test team at Pragmatier would like to thank all the people who enthusiastically helped realise these tests, especially Allan Knudsen and Lars Backhans at Microsoft Sweden. We would also like to extend special appreciation to Jimmy Nilsson, independent consultant, who kept an eye on the process and gave invaluable feedback.

Editor's Note: The authors are principals of Pragmatier, makers of the Prgmatier Data Tier Builder.

The Test Lab

The tests were performed at a test lab provided by Microsoft Sweden during a couple of weeks in March 2003. The tests were conducted in co-operation with experienced Microsoft testing personnel.

Test Goals

The primary goal of the Pragmatier PetMarché scalability tests was to perform a so-called Proof of Concept. In other words proving that applications using the robust object-relational mapping provided by Pragmatier Data Tier Builder can scale in an acceptable manner. Separate tests were performed to try Browse and Purchase scripts, Web services and Distributed Transactions.


Hardware Setup

The hardware configuration consisted of three physical tiers. The database server tier was comprised by one four-way 2GHz Xeon rack mounted server and one two-way 1.4Ghz PIII rack mounted server. The former was used as the main database and the latter maintaining shared state. Both servers in the database tier accessed a Compaq MSA 1000 shared storage disc of 1 Tb through a 1Gbit/s fibre channel.

The application server tier was a network load balanced (NLB) web farm consisting of 1 to 4 two-way 1.4GHz PIII rack mounted servers.

The client simulation tier consisted of two subnets, one with four four-way Xeon rack mounted servers and one with four dual processor Xeon workstations.

The client simulation tier, application server tier and database server tier were connected through 1Gbit/s Ethernet network.

Software Setup
The database server tier was running Windows 2000 Advanced Server with SQL Server 2000. The application server tier was running Network Load Balanced Windows 2000 Advanced with .NET framework 1.0 alternatively Network Load Balanced Windows 2003 with .NET framework 1.0. Shared state was stored on the less powerful database server.

The client simulation tier was running Windows 2000 and Application Center Test, which is a web application stress tool. ACT was setup to run on several machines.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date