Guides

High scale HTTP/SSL performance tests

LoadForge is one of very few companies in the world capable of generating millions of SSL transactions per second.

LoadForge is capable of generating in excess of 5 million SSL transactions per second, and even beyond that. It's also capable of running these tests for many days if needed.

This puts us in an interesting position as being one of the highest capacity load test solutions in the world, and enables clients to test capacities previously unavailable (or completely unaffordable) to them.

How Is It Possible?

LoadForge is a cloud-native solution, and is capable of spinning up a virtually endless number of individual cloud test servers in order to deliver requests. For example, you may want 200,000 SSL users per second. You could design that as 10,000 users per server with 20 servers in a test.

Getting to millions looks like this:

  • 20,000 users per test
  • 20 servers in a test
  • 400,000 users, or ~800,000 requests per second

Then you run multiple tests at once, potentially from different datacenters. For example, you may say run one from London, one from San Francisco, one from Singapore and one from New York.

  • 800,000 requests per second per test
  • 4 tests
  • 3,200,000 SSL TPS

How is it Affordable?

Because LoadForge utilizes public cloud systems to run tests, the cost of this is very easy to explain. For a high capacity test, our test servers cost ~$0.24 per test, per server.

To run the above 3.2 million SSL TPS test we would have a total of 80 servers running. So the total cost would be $19.20 for up to an hour (the cost is per hour) at 3.2 million SSL TPS.

How to Design a Test?

Test design for extremely high load situations is often much simpler than your normal tests. At this scale you are testing individual pieces of your application: your webserver, your caches, your load balancers, your CDN, etc. Because of that we advise isolating components into tests, but of course that is up to the user.

Below is an example of a high throughput test file:

from locust import task, between
from locust.contrib.fasthttp import FastHttpUser

class MyUser(FastHttpUser):
    wait_time = between(0.1, 0.5)

    @task
    def index(self):
        response = self.client.get("/")

Speak to Us

A test this size would require an Enterprise package from us, or up to 200,000 users could be a Premium package. Both of these include support, and we recommend speaking to us to design and scale your test.

Ready to run your test?
Start your first test within minutes.