Sizing your WBT Manager Server
Michael Luxar, Head of Development, Integrity eLearning
On of the most common questions we are asked is:
What size server do I need for x thousands of students?
There is no hard and fast answer for this question because of all of the variables that influence performance. A general idea of the requirements can be gained by asking the following questions:
How many students will be logged on at one time?
How long is a typical lesson?
What kind of content is being delivered?
Student activity has a cyclic nature within WBT Manager. A typical student activity cycle might consist of the student:
selecting a course
taking a lesson
viewing the course results
By estimating the number of students who will be logged on at any given time and factoring in the average time to take a lesson it is possible to approximate the number of activity cycles per minute. If the server is to support both content and WBT Manager then allowance must be made for serving the content as well as servicing the student activity cycles. Obviously, full-screen streaming video will place more of a burden on the server than static HTML pages. On large-scale installations we recommend that any resource intensive content be placed on a separate web-server from the WBT Manager application.
Lets take a look at the demands that WBT Manager places on the web and database servers in a large-scale installation.
The following analysis is based on these assumptions:
1000 students logged in concurrently
average lesson time of 30 minutes
courses have an average of 10 lessons in 3 blocks
students behavior: log on, take one lesson, view status report, log off
course content is either low intensity or on a separate server
Given the above the activity cycle time for a single student is 30 minutes and the system must process:
1000/30 = 33 cycles /minute or about 1 student activity cycle every 2 seconds.
Within WBT Manager activity cycles consist of processing login information, building menus, launching lessons, and processing results. This requires both database activity and HTML generation.
One activity cycle involves approximately 100 SQL statements returning 200 rows of data with 7 rows of data inserted.
200 rows * 1000 students / 30 minutes per student = 6666 rows of data per minute.
This is VERY loosely equivalent to 106 TPC-C* units (take this with a big grain of salt). This is
very easily achieved on a single database server.
Each student activity cycle also involves approximately 20 displayed pages requiring about 2000 lines of compiled Visual Basic and interpreted VBScript code. Using the criteria above this translates to 11 pages/second. Again, this is well within the capacity of a single server.
Our general recommendations for a large-scale WBT Manager installation as described above are:
Separate web and database servers.
Dual PIII 700 processors with 512MB RAM each.
Either MS SQLServer or Oracle running on the DB server.
If you will be serving resource-intensive content you should increase the capacity of the web-server appropriately or add separate content servers. It is also very wise to make sure that the servers are upgradeable with more processors and memory for future expansion of your site.
* 1 TPC-C unit and its
background load translates to about 44 rows selected, 16 updated, and 3
inserted. See www.tpc.org for exact
definitions. This comparison with WBT Manager activity is not exact and is
offered only to attempt to put server requirements into