Ada dua strategi umum untuk menghadapi lonjakan lalu lintas: meningkatkan kapasitas dan mengurangi biaya.
Peningkatan kapasitas berarti penskalaan otomatis, yang semua orang sangat senang ketika awan publik pertama kali tersedia. Dalam pengertian yang paling mendasar, ini akan mem-boot lebih banyak server web untuk Anda berdasarkan pada beban dan menambahkannya ke penyeimbang beban, tetapi karena dapat menyulitkan untuk mengelola, ada solusi yang lebih otomatis juga, seperti Elastic Beanstalk.
Masalah dengan ekspansi kapasitas otomatis adalah ekspansi tagihannya yang otomatis - lalu lintas normal 10x berarti server 10x berarti uang 10x yang harus Anda bayar. Itu sebabnya, walaupun ini adalah strategi yang berguna untuk diingat, saya pikir Anda harus selalu mulai dengan melihat seberapa banyak Anda bisa menipu.
Yang saya maksud dengan cheat adalah cache, yang bertumpu pada gagasan bahwa sebagian besar waktu Anda dapat memberikan data yang sedikit ketinggalan zaman kepada pengguna dan mereka tidak akan melihatnya, dan itu dapat menghemat banyak waktu bagi Anda. Bayangkan Anda memiliki halaman yang Anda putuskan tidak apa-apa jika lima detik kedaluwarsa, dan ia mendapat 20 req / s. Tanpa caching, Anda menjalankan perhitungan itu 1.200 kali per menit, sedangkan dengan caching hanya 12. Anda dapat melihat bagaimana ini dapat membuat perbedaan yang luar biasa.
Tentu saja ada banyak jenis caching, dan situs web yang sukses akan menggunakan beberapa dari mereka. Tetapi untuk use case Anda, ada dua opsi yang cukup bagus dan mudah.
Yang pertama adalah membuat situs sepenuhnya statis. Ini mengasumsikan bahwa Anda dapat melakukannya, tetapi jika Anda bisa, maka Anda hanya perlu Nginx melayani html secara langsung, dan dapat melayani banyak permintaan tanpa keringat.
Jika Anda memerlukan tingkat kedinamisan, maka melakukan caching satu halaman penuh adalah pilihan yang baik. Nginx memiliki beberapa kemampuan untuk melakukan ini, tetapi saya sangat suka Varnish karena fleksibilitasnya.
Apa pun opsi atau opsi yang Anda gunakan, pastikan Anda melakukan uji muat untuk memvalidasi bahwa Anda telah mengaturnya dengan benar; kadang-kadang memperbaiki satu tempat memperlihatkan kemacetan baru.