15 million pages per day. .NET Forge CMS Load Test Results in the Windows Azure Cloud and on Windows Server



    Interesting results were obtained during stress testing of the .NET Forge CMS content management system in a cloud-based environment of Windows Azure and on Windows Server servers. The preparation of the testing methodology, load tests and data analysis were carried out by GALS Soft on the equipment of the hosting provider Infobox. Testing took place with the participation of the Russian branch of Microsoft.

    In testing, we investigated the capabilities of the following .NET Forge CMS editions:

    • Community edition: a free edition with great features for creating community sites, blogs, personal sites and other types of solutions;
    • Business edition for creating online stores, high-load sites for which the issues of scaling, fault tolerance and security are critically important;
    • A web cluster for creating online stores, high-load sites, including support for the Windows Azure platform and Web Farm.

    Testing Web Cluster in Azure


    The Windows Azure Platform is a scalable Internet-based cloud computing service platform hosted in Microsoft data centers. The Windows Azure platform provides a wide range of features for creating applications at all levels: from web applications for users to complex enterprise systems. It includes an operating system for cloud computing and a set of services for developers. The main advantages of cloud hosting are obvious - it's flexibility, reliability and efficiency.

    .NET Forge CMS 7.0 provides full integration with the Windows Azure platform (with cloud infrastructure, Windows Azure Storage cloud storage, Azure SQL cloud database, Windows Azure AppFabric Cache cloud cache), with support for an unlimited number of application instances and automatic synchronization between machines, which eliminates data loss. All this allows you to increase the reliability of the web project, solve the problem of performance during peak loads, for example, during the seasonal peaks of sales of the online store. In addition, Windows Azure simplifies the construction of Internet services using .NET technology, almost completely eliminating the developer’s worries about setting up such "trifles" as file sharing services or scaling up a project.

    Testing a Web cluster in Azure has its own characteristics. Firstly, testing was done with disabled loading of static content to exclude the effect of limited bandwidth on the results. Secondly, during testing, server load parameters were not removed due to its senselessness.

    Web Cluster, Azure small node


    Testing Environment:

    • 1x small virtual machine (1.6 GHz CPU, 1.75 GB of RAM, 225 GB of storage).

    User Scenarios:

    • User scripts are completely identical to the scripts used in testing the business edition.

    Test Parameters:

    • When testing this edition on a small virtual machine with standard testing parameters, it turned out that even with 1100 users, the response time is about 40 seconds, which is obviously unacceptable. Therefore, for this test, the initial and final number of users was reduced.
    • Test duration: 140 minutes
    • Initial number of users: 100
    • Final number of users: 750
    • User Response Time: 3-7s
    • Profiles Used: Registered user, Unregistered user

    Statistics according to the test results:

    clip_image001

    The dependence of the response time on the number of concurrent users for individual pages is presented in the following graph: A

    clip_image002

    comfortable value of 4c is achieved with no more than 250 concurrent users, the most acceptable - with 350 users.

    Web cluster, Azure big node


    Testing Environment:

    • 1x large virtual machine (Quad-core 1.6 GHz CPU, 7 GB of RAM, 1,000 GB of storage).

    User Scenarios:

    • User scripts are completely identical to the scripts used in testing the business edition.

    Test Parameters:

    • Test duration: 140 minutes
    • Initial number of users: 1100
    • Final number of users: 2400
    • User Response Time: 3-7s
    • Profiles Used: Registered user, Unregistered user

    Statistics according to the test results:

    clip_image003

    The dependence of the response time on the number of concurrent users for individual pages is presented in the following graph: A

    clip_image004

    comfortable value of 4s is achieved with no more than 1100 concurrent users, the most acceptable - with 1550 users.

    Web cluster, cluster in Azure


    Testing Environment:

    • 5x large virtual machines (Quad-core 1.6 GHz CPU, 7 GB RAM, 1,000 GB storage)

    User Scenarios:

    • User scripts are completely identical to the scripts used in testing the business edition.
    • Test Parameters:
    • Test duration: 140 minutes
    • Initial number of users: 1100
    • Final number of users: 2400
    • User Response Time: 3-7s
    • Profiles Used: Registered user, Unregistered user

    Statistics according to the test results:

    clip_image005

    The dependence of the response time on the number of concurrent users for individual pages is presented in the following graph: A

    clip_image006

    comfortable value of 4c is achieved with no more than 900 concurrent users, the most acceptable - with 1550 users. It can be clearly seen from the graph that due to overhead, using the cluster is irrational with a small load (the response time is quite long), but very profitable with a large load - the response time grows very slowly with increasing load.

    Stability test


    To assess the stability of the application, a 24-hour test of the Business Edition was run, after which the system performance parameters at the beginning and end of testing were compared.

    Test Parameters:

    • Edition: Business
    • Test duration: 1440 minutes (1 day)
    • Number of users: 2400
    • User Response Time: 3-7s
    • Profiles Used: Registered user, Unregistered user

    Testing results:


    CPU load:


    Memory allocation : Memory



    consumption rested at 12GB, after which it stopped growing.



    Using the disk subsystem: The graph shows that the use of the hard disk is practically absent. In fact, for a day of very active load, about 1.7 GB were recorded, about 2 GB were read. Any single hard drive can easily handle such a load.

    Server performance in pages / s:



    Non-resident pool



    size : The pool volume does not increase over time, which indicates the absence of memory leaks.

    Summary


    clip_image007

    As a result of testing, all editions of the .NET Forge CMS product showed stable operation and high performance indicators. The results obtained on a single dedicated server in a typical configuration exceed the needs of most highly loaded projects:

    • 13,800,000 pages per day for Community editors
    • 15,000,000 pages per day for Business Editorial

    When combining several servers in a cluster, in practice, we managed to achieve a productivity of 44 million pages per day. For testing, we used Intel Xeon e3-1270 standard configuration servers located in the Infobox data center. All machines have MS Windows Server 2008 R2 installed.

    A series of 24-hour tests with maximum loads revealed the stability of the .NET Forge CMS, which ensures uninterrupted operation of sites on the platform during peak loads.

    Comparison of Test Results


    clip_image008

    O .NET Forge CMS


    .NET Forge CMS is a powerful content management system based on the ASP.NET platform, which determines the scope of its application in the corporate sector, especially if other services in the company are running on the Microsoft platform. The system facilitates the work of creating a site, significantly reducing the cost of their development and speeding up the process.

    .NET Forge CMS includes convenient site management tools, including a visual editor, the Hermitage interface, blogs with Windows Live Writer support, data caching, an online store with advanced discount logic, and much more. .NET Forge CMS is integrated with Microsoft Visual Studio 2010, the Windows Azure platform, implemented support for Microsoft's Web Farm Framework.

    The product has received the status of Certified for Windows Server 2008 R2. The received certificate confirms the stability of the product on the Windows Server 2008 R2 platform. Certification for Windows Server 2008 R2 confirms the product’s compatibility with Microsoft server technologies and stability under heavy loads and in stressful situations.

    Testing details, methodology, metrics, extended test results on Windows Azure and Windows Server and other data can be found on the Galssoft website at http://galssoft.ru/Blog.aspx?id=27 .

    Also popular now: