Calculating load on servers

In this article

    The below table illustrate minimum recommended configuration scenario.  Look at the section above for definition of users and other terminology

     

    Number of users

    Recommendations

    < 50

    A small installation with a single web server is recommended.  Storing the session state on ASP.NET Session Services locally on the web server should be considered.  The database server is recommended to confirm to the previously mentioned database server.  Bandwidth for the web server should be at least 1 Mbit/sec.

     

    50 – 100

    A large installation with two web servers and a session server is recommended.  The database server is recommended to confirm to the previously mentioned database server.  If the database server carries other significant loads, it needs to be scaled up beyond the previously mentioned database server.  Bandwidth for the web servers should be at least 2 Mbit/sec.  However; additional calculations and considerations can be carried out to determine if the small or large installation scenario can be recommended. 

     

    > 100

    The large installation scenario with multiple web servers and a session server is recommended.  Additional calculations and considerations are recommended to be carried out to determine number of web servers, processing capacity on the database server and bandwidth. 

     

    Calculating load on the web server with in-process session state

    The web server is recommended to have a minimum of two dual core processors and confirm to the previously mentioned web server in the specifications section of this document due to the parallel nature of processing in the web server.

    The load from a normal user is assumed to consume 4% of a kernel.  Hence; the following formula can be used for calculating the minimum recommended processing power:

    U: Number of users
    K: Number of kernels

     

    U / 25 = K

     

    This means that 75 user require 3 kernels.  Hence; rounded up to the minimum recommended server, a two CPU dual core processor is recommended:

     

    75 / 25 = 3

     


    Calculating load on the web server with out-of-process session state

    The use of out-of-process session state is assumed to introduce a 25% overhead compared to in-process session state.  Hence; the following formula can be used for calculating the minimum recommended processing power:

    U: Number of users
    K: Number of kernels

     

    U / 20 = K

     

    This means that 125 user require 6,25 kernels.  This should always be rounded up.  Since the minimum recommended web server contains 4 kernels, two servers with two dual core processors are recommended.  One server with two quad core processors also falls within the recommendations.  The small scenario without load balancing can be applied if the latter server alternative is chosen.  Multiple web servers require the large scenario with load balancing.

     

    125 / 20 = 6,25

     

    Calculating load on the database server

    The load on the database server is assumed to be about half of the load as the load imposed on the web server with in-process session state.  This means that a user will use about 2% of a kernel on the database server.  As many of the operations of 6.web performs database operations in parallel, a multi processor database server with multi kernel processors are recommended.

    However; large databases (e.g. with a lot of records) will require significantly more processing power than a small database.  However; the following formula can be used as a base-line for calculating the minimum recommended processing power:


    U: Number of users
    K: Number of kernels

     

    U / 50 = K

     

    This means that 75 users require 1,5 kernels.  However; we do not recommend going below the minimum suggestion for server of two dual core processors.

     

    75 / 50 = 1,5