Will my app survive a launch?

Launch traffic is not your normal traffic. It arrives in a spike, almost all of it hits the same two or three pages, and it shows up exactly when you are busy replying to comments. Here is how to find out whether your app holds before you post.

Stresix run preview chart
A Stresix run preview: virtual users, requests per second, and p95 latency over ten minutes.

1. Know what the spike looks like

A post that does well on Hacker News, Product Hunt or a large subreddit sends most of its visitors in the first few hours, and most of them land on one page. Concurrent users, the people loading something at the same moment, matter more than the daily total. Plan for the hour after you post, not the average day.

2. Test the pages people will actually hit

Launch visitors hit your landing page, your sign-up endpoint and maybe one demo page. Load those, not your whole API. If sign-up writes to a database, include it: a homepage that loads fast is no use if creating an account times out.

3. Test on the server you will launch on

A result only transfers to the same hardware with the same config. Test the container and settings you will actually deploy, pointed at a database that can take the load, not your laptop.

4. Fix the cheap things first

Most launch failures are not about server size. Common ones: a single-threaded app using one core of four, a landing page rendered on every request when it could be cached, a database without an index on the column sign-up checks, and a connection pool that is too small. Each of these is a config change or a few lines of code.

5. Decide on hardware last

Only after the cheap fixes, look at CPU and memory under load. If the server is pinned on every core, size up. If it is not, a bigger server is money spent on a problem you do not have.

Doing it with Stresix

Stresix starts your repository or Docker image on a dedicated server, sends up to 2,500 (Standard) or 10,000 (Massive) simulated users at the requests you list, measures CPU per core and memory, and tells you whether the hardware is enough. A run takes 10 to 15 minutes and costs from $1.60, so you can test, fix, and test again before launch day.

Frequently asked questions

How much traffic does the Hacker News front page send?

It varies a lot by post and by hour. Founders who share their numbers usually report thousands to tens of thousands of visits over a day, front-loaded into the first few hours. Test for a few hundred to a few thousand concurrent users to be comfortable.

Is a static landing page enough to survive?

Static pages served from a CDN almost never fall over. The parts that break are dynamic: sign-up, login, a demo that hits your API, or a page that queries the database on every load.

When should I load test before launching?

A few days before, so there is time to fix what you find and test again. Testing the night before leaves no time to act on the result.

What if my app holds fine?

Then keep the server you have. A report that says no change is needed is a useful result: it means you can stop worrying and spend launch day on the comments.

Related guides

Stop guessing your specs. Start knowing them.

Point Stresix at a repo or Docker image and get a number you can deploy on, in one run.

Start a load test