During the high traffic period your server should be able to handle all requests made by visitors to your website. But there are some limits in concurrent connections handled by the server. So it's best to serve the page requests as fast as possible.
Here are some suggestions to consider in these situations,
Application level improvements:
- Minimize HTTP Requests to Speed Up Page Load Times.
a) Combine all JS files together in a single combined JS file, and all CSS files in a single combined CSS file.
b) Minify JS, and CSS files, so the file size will be reduced and it will be downloaded faster.
c) Use CSS Sprites - When you combine most or all of your images into a sprite, you turn multiple images requests into just one. Then you just use the background-image CSS property to display the section of the image you need.
d) Delay image download with lazy-loading, this will be helpful to reduce the http requests.
- Prepare lightweight pages which are expecting more visits:
a)Exclude decorative elements like images or Flash wherever possible; use text instead of images in the site navigation and chrome, and put most of the content in HTML.
b)Use static HTML pages rather than dynamic ones; the latter place more load on your servers. You can also cache the static output of dynamic pages to reduce server load.
Server level improvements:
- Reduce server timeout values by consulting your hosting provider (shouldn't be too low).
When timeouts are lower the connection will be released soon, so the server will be able to handle more connections.
Use third party services like CloudFlare for static data caching, and to protect your website from malicious users and attacks like DDOS.
Upgrade your server hardware - Upgrade physical and Virtual memories, increase I/O and Entry processes limits, if required. Your hosting provider will be able to help you better.
Cache dynamic code - Use APC to cache PHP opcode.
Load Balancing - Distribute load across multiple load balancing servers.
When all required actions are taken, now it's time to check if the website is ready for a huge traffic spike.
There are some third party services like loadimpact.com who provide load testing with simulated traffic. The analysis will help you to understand how much load your website can handle and what can be improved.
Also, during the traffic spike period, avoid high CPU usage operations like website backup cronjobs etc.