DEV Community

Cover image for What Is My [Server] Throughput? (One-Click Audit)
Mathew Kurian for BrowserStorm

Posted on • Updated on • Originally published at blog.browserstorm.com

What Is My [Server] Throughput? (One-Click Audit)

Have you wondered how many users can be on your website at the same time?

But you wanted a test framework that is...

  • More than a benchmark (not JMeter or LoadRunner).
  • Simulated real users.
  • Presentable and quick
  • Provides a quick report, something like this:

Screen Shot 2021-06-05 at 11.18.36 AM

WhatIsMyThroughput.com (beta)

In this article, I want to introduce to you WhatIsMyThroughput.com. It is a tool that helps gauge whether your website is ready to handle X users concurrently.

Case Study of chaos.browserstorm.com

The chaos server (which can seem down) uses connect-chaos to generate errors on an express server randomly. This particular server can control what errors get generated and when, so it's a prime example of what systems can do at high loads.

Screen Shot 2021-06-05 at 10.51.21 AM

Our Test Setup

  1. Navigated to WhatIsMyThroughput.com
  2. Submitted a test with the following properties
Property Value
Target URL https://chaos.browserstorm.com/
Virtual Users 32

The test takes 15 minutes to run, so now we wait.

What was the verdict?

Tik tok tik tok... and the results have come in! The test has failed! The website could NOT handle the load of 32 concurrent users. This test is a bit anti-climactic since the errors are expected. But in any other case, it's important to review the errors the users have experienced, shown below.

Screen Shot 2021-06-05 at 10.43.55 AM

What were the errors?

View the test run and errors here.

Screen Shot 2021-06-05 at 10.44.19 AM

What then?

If a production server had errors similar to this test, then there is a problem. But in this case, it is expected. Generally speaking, at scale, the use of CDNs would improve the read scenarios. For write heavy situations, low-hanging fixes can include waiting rooms. There are more complex solutions

Custom Flows

This article focuses only on the Page Visit Flow. If you wanted to find out the throughput of flows on your server, like signing up or performing a search, they need to be implemented in JavaScript/TypeScript via. BrowserStorm (or at any other browser at scale test platform).

Pricing

This tool is free for the most part. However, generating higher loads does cost, but that helps maintain it free for most users.

Conclusion

With Single Page Apps (SPAs) on the rise, the goal of BrowserStorm (and WhatIsMyThroughput) is to offer a "certificate" for a particular scale. This guarantee should give developers a sense of confidence and proof that their system can operate at production loads.

Both BrowserStorm and WhatIsMyThroughput are in active development. Feedback helps drive the direction of the product. Please let us know if you have any questions or concerns in the comments.

Top comments (2)

Collapse
 
cubiclesocial profile image
cubiclesocial

You should consider adding a domain verification step to your software (either a DNS TXT record or a special meta tag on the target webpage). A CAPTCHA won't stop a determined user from using your service to initiate a DDoS attack. But requiring website/domain control would be a major deterrent from most abuse.

Collapse
 
mathewkurian profile image
Mathew Kurian

@cubiclesocial , I agree. For now, higher thresholds require approvals. As for captcha, do you mean from the tool’s side or that of the target endpoint?