Cara menyiapkan situs untuk pertumbuhan beban



Hanya si malas yang tidak mendapatkan keahliannya dari rak yang jauh dan tidak memprediksi kehidupan "online" - yang dipaksa seperti rezim isolasi diri. Tapi lalu lintas, memang, sudah mulai tumbuh, dan dengan mempertimbangkan "liburan", sumber daya menawarkan pengiriman barang, layanan pendidikan online, dan terutama hiburan online, mungkin tidak siap untuk arus pengunjung dalam kenyataan baru sebelum akhir April.

Berdasarkan 12 tahun pengalaman kami dalam dukungan teknis proyek web dan administrasi server jarak jauh, kami telah menyiapkan semacam β€œmanual pelatihan”: apa yang layak untuk diperiksa dan apa yang perlu Anda perhatikan jika Anda ingin memastikan bahwa situs Anda akan mengatasi setiap beban. Yah, hampir semua orang.

Jadi, berikut adalah 10 poin yang sangat penting untuk kehidupan aktif proyek web Anda dalam beberapa hari dan minggu mendatang:

1) Monitor infrastruktur Anda

Pertama-tama, Anda harus tahu apa yang terjadi dengan situs Anda. Jika Anda tahu cara menangani Prometheus / Grafana, gunakan itu. Tetapi jika tidak ada pengalaman berinteraksi dengan mereka, ini bukan masalah: Anda dapat menggunakan layanan seperti datadog - Anda dapat menginstalnya secepat mungkin. Masih rumit? - Perhatikan Pingdom atau Site24x7: ini bukan layanan pemantauan lengkap, tetapi mereka setidaknya cocok untuk memastikan ketersediaan situs Anda dan untuk mengetahui kapan situs tersebut hampir jatuh.

Ingat: Anda hanya bisa mengontrol apa yang bisa Anda ukur. Lagi pula, jika Anda tidak tahu apa yang sedang terjadi di dalam sistem Anda, dan terutama di mana itu terjadi, Anda tidak akan dapat memperbaikinya jika ada yang rusak di sana.

Ada banyak opsi untuk apa yang bisa salah ketika lalu lintas menumpuk:

  • .
  • .
  • \.
  • \\.

2) Bersiaplah untuk skala.

Setelah Anda melihat bahwa Anda telah mencapai 80% dari batas sumber daya, Anda harus segera memulai penskalaan. Karena jika Anda menunggu 100%, situs akan jatuh. Dan Anda perlu waktu untuk memulihkan proyek. Belum lagi itu semua sangat gugup ...

Anda harus bertindak cepat, karena jika tidak, Anda akan kehilangan pengunjung dan mungkin membuat lebih banyak kesalahan dalam mode "koki, semuanya hilang, terbakar". Karena itu, ketika Anda mencapai tanda 80% dari batas sumber daya, skala turun menjadi 40%.
Ulangi jika perlu (c)

3) Jangan lupa untuk memantau kinerja HDD dan bandwidth saluran

Jauh lebih sulit untuk memahami apa yang terjadi ketika sistem "bodoh" karena beban disk yang tinggi atau keterbatasan bandwidth.

4) Pantau kinerja basis data Anda,

terutama jika Anda menggunakan basis data cloud. RDS, Cloud SQL, MongoDB Atlas, dan layanan lainnya dikelola menggunakan teknologi cloud, tetapi mereka memiliki batasnya sendiri, dan mereka harus dipantau untuk mengukur waktu.

5) Ketika database Anda menciptakan beban besar pada CPU - periksa penggunaan indeks, itu sangat membantu

Pengenalan pengindeksan secara fantastis mengurangi beban pada prosesor. Misalkan CPU basis data Anda digunakan 90%. Anda mungkin ingin menskala menjadi dua untuk menangani beban ganda. Tetapi jika sebagian besar pertanyaan Anda tidak diindeks, maka memperkenalkan pengindeksan dapat mengurangi beban CPU sebanyak 10 kali. Analisis penggunaan indeks sepadan dengan usaha!

6) Mengawasi akun untuk layanan penyedia cloud

Sangat mudah untuk melupakannya ketika Anda memiliki masalah waktu. Karenanya, atur peringatan pada sistem penagihan Anda untuk menerima pemberitahuan kemungkinan kelebihan biaya. Lebar saluran adalah yang paling mahal. Jika tidak mungkin mentransfer konten ke CDN atau ke perusahaan hosting yang menyediakan lalu lintas volume besar dengan harga murah, seperti like100tb.com atau leaseweb, bersiaplah untuk biaya yang serius.

7) Hindari status dalam aplikasi Anda

Terlepas dari kenyataan bahwa dimungkinkan untuk skala sumber daya prosesor atau RAM di cloud, masih ada batas yang tidak dapat dilewati. Dari sudut pandang ini, jika Anda ingin skala secara horizontal, menambahkan contoh baru dari aplikasi yang sama, itu harus siap untuk pengembangan acara. Dan ketika Anda memiliki beberapa contoh aplikasi yang sama, permintaan pengguna akan didistribusikan di antara beberapa server, dan sebagai hasilnya, Anda tidak akan dapat menyimpan data pada disk lokal.

8) Pertimbangkan untuk pindah ke cloud jika situs tersebut menggunakan hosting khusus

Karena dalam situasi ini, Anda tidak dapat dengan mudah mengukur: menambah server akan memakan waktu tertentu - akan diperlukan beberapa jam hingga beberapa hari untuk mendapatkan server baru yang tersedia. Plus, Anda biasanya membayar secara bulanan, bukan setiap jam. Secara umum, Anda jelas tidak ingin menunggu berjam-jam, atau bahkan berhari-hari, jika situs Anda "bohong". Jauh lebih mudah untuk mengukur di awan.

9) "Kencangkan" infrastruktur.

Ada beberapa hal mendasar yang dinonaktifkan secara default, dan harus dioptimalkan - pada tingkat OS, jaringan, manajer aplikasi, dan aplikasi itu sendiri. Dan ini dapat secara signifikan mengurangi konsumsi sumber daya. Google setup tumpukan teknologi Anda dan ikuti pedoman dasar.

10) Bersiaplah untuk meluncurkan versi cache

Terlepas dari semua upaya Anda, dengan peningkatan lalu lintas seratus kali lipat, Anda akan "berbaring". Perlu skala waktu. Jadi bersiaplah untuk menggunakan versi cache statis. Untuk ini, cache Cloudfront / Cloudflare, cache CDN Anda, cache nginx atau lainnya berguna. Pastikan Anda memiliki kesempatan jika Anda membutuhkannya.

All Articles