Pembaruan Mengenai Server Chess.com
Komunitas Chess.com yang terhormat,
Pada tanggal 23 Januari, kami membagikan pembaruan mengenai seberapa pesat perkembangan catur dan betapa menantangnya hal itu bagi perusahaan kami, terutama "Live Server" tempat permainan dimainkan. Pertumbuhan terus meningkat sejak saat itu.
Pada hari Jumat, 3 Februari, kami memiliki rekor 403.000 anggota baru yang mendaftar di Chess.com. Itu membingungkan sekaligus mengasyikkan. Tetapi sejujurnya kami sangat sedih, ketika melihat para pengguna merasakan masalah server. Kami sangat, sangat menyesal atas masalah yang Anda alami dalam beberapa minggu terakhir.
Untungnya, kami mendapatkan jalan untuk menyelesaikan masalah ini, dan kami ingin memberikan informasi pembaruan tentang apa yang telah kami lakukan dalam dua minggu terakhir, dan apa yang telah kami capai. Meski demikian, kami belum berada pada tingkat stabilitas yang kami harapkan. Jadi hingga saat ini, kami masih dalam proses memperbaikinya.
Apa yang telah terjadi?
- Lalu lintas Chess.com meningkat lebih dari dua kali lipat selama beberapa bulan terakhir. Pada bulan Januari saja, lalu lintas meningkat dari 7 juta pengguna harian menjadi lebih dari 11 juta pengguna harian.
- Hal ini terjadi karena berbagai alasan, antara lain karena Chess.com mendapat peringkat tinggi (bahkan #1) di app store, kami juga banyak mengadakan acara hebat, ditambah komunitas catur luar biasa yang membagikan antusiasme mereka di media sosial, serta kreator catur yang membuat konten luar biasa, dan tentunya Mittens.
- Lalu lintas yang padat telah menyebabkan server dan infrastruktur kami kesulitan secara signifikan. Dua masalah utama yang dialami banyak orang adalah kesalahan 502, yang terjadi saat database kami kelebihan beban, dan pemutusan live server, yang terjadi saat server kami kelebihan beban.
Apa yang telah kami lakukan?
Mengatasi peningkatan lalu lintas server tidak sesederhana mengidentifikasi satu hambatan dan menghilangkannya. Ada banyak komponen perangkat keras dan infrastruktur cloud yang perlu diskalakan serta berbagai optimalisasi yang harus dilakukan. Berikut adalah beberapa hal yang telah kami lakukan dalam dua minggu terakhir.
- Kami membeli perangkat keras senilai ~$2 juta (web server, database server, live server baru, penyeimbang beban, dan mesin layanan tambahan). Perangkat keras yang paling vital sekarang telah dipasang, tetapi lebih banyak lagi yang akan dipasang di minggu mendatang. Meskipun $2 juta terdengar sangat banyak, tetapi akan jauh lebih banyak (tidak terjangkau) jika Chess.com dihosting seluruhnya di cloud.
- Kami telah melakukan sharding dan memisahkan infrastruktur database kami secepat mungkin. Ada banyak kemajuan di sini, karena banyak tabel MySQL telah dipisah, dan kode kami telah difaktorkan ulang untuk menunjuk ke tabel baru tersebut.
- Kami memperbaiki banyak kemacetan perangkat lunak yang tidak terlihat sebelum kami mencapai skala ini.
- Kami menemukan bahwa salah satu uplink antara data center kami dan salah satu penyedia cloud kami telah mencapai kapasitas saat kami mengalami lalu lintas puncak.
- Kami membatasi jumlah anggota non-premium yang dapat mengakses live server kami selama jam sibuk. Kami telah mengembalikan batasan ini saat metrik membaik dan berharap batasan tersebut akan segera dicabut sepenuhnya.
- Setiap engineer di Chess.com berusaha untuk memperbaikinya.
Apa yang telah kami capai?
Ini bukan pembaruan tentang "Misi Selesai". Kami masih bekerja keras untuk mencapai tingkat kinerja yang kami harapkan. Meski demikian, kami telah membuat peningkatan yang ingin kami bagikan.
- Kami telah mengurangi error 502 “database overload” hingga lebih dari 90%.
- Kami juga telah mengurangi frekuensi pemutusan/disconnection dari Live Server lebih dari 90%, dan mempermudah penyambungan kembali jika terjadi pemutusan.
Apa yang masih harus kami lakukan?
Dalam beberapa bulan mendatang, kami akan terus melakukan banyak perbaikan baik besar maupun kecil pada server kami yang kami harap akan terus memberikan dampak positif bagi para anggota. Berikut adalah beberapa perubahan yang dapat kami bagikan.
- Kami memasang semua perangkat keras yang belum dikirimkan untuk terus memperluas kapasitas.
- Seluruh tim engineering kami tetap benar-benar fokus untuk menyelesaikan semua masalah yang tersisa, termasuk pekerjaan database lebih lanjut, mengoptimalkan kueri, dan beralih ke lebih banyak layanan.
- Kami akan bekerja dengan data center dan penyedia cloud kami untuk mengatasi kendala mereka.
- Kami sedang dalam proses menulis ulang Live Server kami sehingga kami dapat berpindah dari satu server ke layanan terdistribusi yang dapat diskalakan secara horizontal di banyak server. Saat ini kami hanya menjalankan sejumlah kecil game di layanan ini. Namun, minggu ini kami juga mulai menguji game berating dalam layanan ini, dan kami berharap akan segera meng-hosting sebagian besar game Chess.com dari layanan yang terdistribusi dan dapat diskalakan, bukan dari satu mega server.
Apa yang kami lakukan untuk memperbaikinya?
Kami tahu bahwa banyak dari Anda, termasuk anggota premium, telah kalah dari permainan karena pemutusan/disconnection atau tidak dapat mengakses layanan yang Anda bayar. Kami ingin memperbaikinya.
- Minggu ini kami akan menerapkan pengembalian rating otomatis, untuk permainan yang kalah karena ketidakstabilan server. Ini akan menjadi rencana bantuan jangka pendek bagi pengguna yang terkena dampak, sementara kami menangani masalah inti.
- Kami membuat Puzzle Battles gratis untuk seluruh anggota selama sisa bulan Februari.
- Untuk anggota premium, bulan ini kami akan menambahkan kursus premium oleh GM Magnus Carlsen, Peter Svidler, Hou Yifan, dan yang lainnya dari perpustakaan konten Chess24 ke perpustakaan pelajaran di Chess.com.
Erik, CEO kami mengatakan bahwa: “Saya merasakan tiga hal yang sangat dalam setiap hari: 1. Patah hati setiap kali melihat rasa frustrasi yang dirasakan anggota kami saat layanan tidak stabil, 2. Bangga dengan tim kami, atas semua yang telah mereka lakukan dalam waktu singkat ini mengingat keadaan yang tidak dapat diprediksi, dan 3. Berharap dan percaya diri bahwa kami akan segera berada di tempat yang jauh lebih baik.”