When performing load tests, it can be important to test your website and applications against concurrent users, and in some cases, simultaneous users, but what’s the difference? And when should you carry out concurrent vs. simultaneous user testing? A lot of people get confused when they hear the words “concurrent users” and “simultaneous users.” Even the most qualified techies get confused when they talk about concurrent and simultaneous users and related topics. Though there are many different definitions and examples available all over the web, it is likely that either you don’t understand them or get more confused after reading them.
When it comes to performance testing, it becomes even more critical that you understand concurrent vs. simultaneous users at the fundamental level to effectively apply your knowledge for successful testing. Performance testing such as load testing, stress testing, etc., are heavily influenced by the type of load and user activities. Without further ado, let’s understand it bit by bit. This article sets out to explain the differences between the two terms and provides best practices for each, so you’re prepared the next time you load test your website or web application.
Concurrent vs. Simultaneous Users
The word “concurrent” refers to the actions and events that occur over a period of time or an observation period. That means concurrent users are the ones who are connected to your website or applications over a time period, regardless of the activities they perform or requests they make.
The word “simultaneous” refers to the actions and events that occur at a certain point in time. That means simultaneous users are the ones who are performing the same activity or transactions at a certain point of time on your website or applications.
Let’s understand concurrent and simultaneous users from an example. Suppose you have an e-commerce website and there are 15,000 users who are doing something on your website for a certain observation hour, let’s say noon to 1 p.m. During that hour, at 12:30 p.m., there are 1,000 users who made a checkout request.
In this case, concurrent users are 15,000 and simultaneous requests for checkout are 1,000. The following are some conclusions that we can make from this example:
Simultaneous users are always a subset of concurrent users. That means the number of concurrent users will always be greater than the number of simultaneous users. It will be rare that they would be the same.
Concurrent users can be inactive or active, performing any activity.
Simultaneous users cannot be inactive. They must be active and perform the same transaction at the observation timestamp.
Concurrent Users vs. Simultaneous Users Testing
Understanding concurrent users and simultaneous users is the key to effective performance testing. If you create your performance tests without knowing the actual difference, you might end up calculating wrong benchmarks and fail the purpose of performance testing.
For instance, in our previous example, if you only create load tests for the number of visitors on your website, during a sales season, but don’t create load tests for “checkout” transactions, many checkouts will fail and you will suffer from huge revenue loss as well as credibility of your website.
Concurrent Users Testing
While doing performance testing for concurrent users, the following are a few things that you should consider while designing your tests:
- Peak Traffic. Number of users that are connected to your website or application.
- Resource Utilization. CPU, Bandwidth, Memory, Server Resources
- Load Time. Website/individual page load time will get affected by concurrent users.
- Soak Testing. Website/application performance over a longer duration of time with same number of concurrent users.
- Third-party APIs. Test any third-party integrations for their load handling capacity.
- Maximum Number of Database Connections. A database connection is required for different activities and transactions. More concurrent users may result in increased database connections, but not always.
- Max HTTP Requests. Your server may be able to handle only so much of all types of HTTP requests.
Simultaneous User Testing
While carrying out performance testing for simultaneous users, the following are a few things that you should consider while designing your tests:
- Page Load Time. Test your individual/important pages for simultaneous requests.
- Critical User Transactions. Important transactions such as sign-in, checkout, add-to-cart, etc. should be tested for simultaneous users.
- Third-party APIs. Test individual third-party transactions such as OTP, payment method, push notifications, etc., for simultaneous requests.
- Database I/O. Test database performance for simultaneous read/write transactions.
Concurrent & Simultaneous User Load Testing
Using a platform like LoadView allows you to generate a fixed and adjustable load for virtually any test case. Before we explain more into how you can use the platform for your concurrent user and simultaneous user load, let’s talk about some of the differentiators that make it one of the best load testing platforms. The platform offers some out-of-the-box load testing features that are useful for making test cases for concurrent user and simultaneous user testing.
- Website Load Testing. Peak traffic analysis for website load time, and resource utilization.
- Web Page Load Testing. Simultaneous individual page requests for logins, shopping carts, forms, etc.
- API Load Testing. Origin server API and third-party API requests.
- Streaming Media Load Testing. Test streaming server performance for concurrent and simultaneous load.
Concurrent vs. Simultaneous User Testing
Knowing the difference between concurrent vs. simultaneous users is essential for designing test cases and ensuring the correct outcomes. Concurrent users tell the number of users for a given test duration, while simultaneous users define the number of users performing the same transaction at any given point of time. For more information about how to translate website analytics into concurrent users for performance testing, read out Analytics to Concurrent Users Knowledge Base article.
LoadView is a cloud-based load testing tool that you can use for virtually any test case that involves testing concurrent users and simultaneous users for website and application performance. It can generate load using real browsers and devices from different geo locations for the most realistic test conditions and accurate results.
Try LoadView today and receive $20 in load testing credits to get started. Begin your LoadView trial now!