Making the cache work
The situation
A results portal is fine all year and collapses for two hours every results day. The traffic on that day is roughly 200 times normal.
A page load consists of:
- the HTML page, different for each student
- a 2 MB logo and stylesheet bundle, identical for everyone
- a 40 KB result PDF, different for each student
All three are served by one origin server in the college data centre.
Measured on results day: 94% of bytes leaving the origin are the logo and stylesheet bundle, requested afresh by every student on every page load.
After the CDN is in place, the edge still fetches the bundle from the origin on almost every request. What is the most likely cause?