
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.
Acknowledgements
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.
Setup
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.