RE:NODE
Browse hosting

Sizing6 min read

Sizing a web app for launch day

Launch traffic is short, spiky and mostly cacheable. What to have ready, what to leave alone, and the mistake that turns a good day into an outage.


Launch day traffic looks alarming and is usually the easiest traffic you will ever serve: a great many people asking for the same few pages within the same hour. The trap is not volume, it is that every one of those requests reaches your application instead of a cache.

Cache the pages that do not change

A marketing page rendered per request is work repeated thousands of times for an identical result. Cached for even sixty seconds, it becomes one render and thousands of reads. That change alone is worth more than any plan upgrade you could buy on the morning.

  • Static and marketing pages: cache, and set a sensible max-age.
  • Logged-in pages: not cacheable, and generally a much smaller share of launch traffic.
  • The database: the one that actually falls over, usually through a query nobody profiled.

Have the upgrade path, not the upgrade

Buying four times the plan for a day you cannot predict wastes money in both directions. Know which tier you would move to and how long the move takes, watch the graph on the day, and move if it is warranted.

Most launch-day outages are one unindexed query, not one missing gigabyte.