Execution load testing through loader.io
Today we conducted load testing of our platform after a major update. We moved Falcon Space from the platform .NET 4.7 on .NET Core. We will describe the transfer itself in a separate article (not everything was as smooth as the adepts claimed ASP.NET Core).
The original test data
So, we tested only 1 page. It is taken from the database via the page mechanism.
As a testing tool, we will use loader.io - a simple service for a quick load test that allows you to quickly identify performance problems with a large number of requests. The service is good because it does not require any complex load for testing, plus it has a visual interface, which greatly speeds up the process compared to its heavier counterparts.
As a server, we have Windows Server 2012 R2 x64 with 3Gb RAM and 2 * 3 GHz CPU and 70GB disk (not SSD). There are about 15-20 applications running on this server, and about 3 of them are actively used.
For the test, you need to register on the service, create a host, and confirm the rights to this domain by copying the file to the hosting root.
We will do tests for 1 minute. We will start with a load of 100 clients per minute, then gradually increase this number.
Our goal is to understand how many users experience serious problems (delays, refusals in processing requests).
100 users in 1 minute
On the test, you can see how the response time and the number of requests change
The average time is 406 MS. There are no rejections.
Link to the test - https://bit.ly/3hoIHoY
300 users in 1 minute
As you can see, the average time has increased, but not significantly. There are no rejections.
500 users in 1 minute
The time has increased slightly, but again uncritically.
Trying out 1000 users in 1 minute
The average time increased to 837ms, but generally within the acceptable range.
2000 users in 1 minute
Here there were failures and the response increased to 11 seconds.
Notes to tests
1. We did a test for the platform using a simple example: a page is taken from a database, but it does not contain complex business logic inside and does not access a bunch of tables for data. Tests on other examples may give different numbers and will depend more on the quality of written SQL queries and server capacity than on the platform itself.
2. The memory consumption of the IIS pool process is around 120 MB (which is generally not much and this figure did not change significantly during the test).
3. We did the test without any special engine preparation: no special output caching was used, and the pool settings were not optimized. The task was to understand the processing capabilities in the basic use case: without complex business logic, but also without special optimized settings for the test.
What conclusions can be drawn-the basic Falcon Space engine without special settings for server optimization and additional caching keeps 1000 users per minute. In General, for 99% of projects, this is more than enough (you can roughly calculate how much daily attendance can be at 1000 per minute).
Above 1000 users per minute, additional server power or more subtle settings are required.
We plan to make additional optimizations and conduct repeated load tests.
How do I know the budget / timeline for my project?
1. Create a project concept
2. Send us your concept paper
3. We will prepare a commercial proposal with details by modules
Falcon Space Platform
This is a reduction in the cost of ownership
at the expense of fewer people to support
This is a quick change
while using the program
This is a modern interface
full adaptation for mobile devices
If you like our articles, then please subscribe to our channel in Telegram - Falcon Space.
In it we will publish updates on articles and other materials regarding our platform.