Server Down: dari Pendaftaran CPNS hingga Kasus Facebook

Oleh: Ahmad Zaenudin - 20 September 2018
Dibaca Normal 3 menit
Situsweb pendaftaran CPNS sering kali mengalami gangguan server down atau tak bisa diakses. Apa dan bagaimana itu bisa terjadi?
tirto.id - Di kamar asrama Harvard University, seorang pemuda bernama Mark Zuckerberg, pada medio Februari 2004, meluncurkan thefacebook.com, situsweb media sosial yang dikerjakannya. Bermodal koneksi internet kampus, menyewa alamat IP statis, Zuckerberg lantas menjadikan komputer pribadi sebagai server thefacebook.com. Seketika, situsweb tersebut “on” di dunia maya.

Dengan bermodal alamat email berakhiran @harvard.edu, tiap orang bisa meregistrasi diri di media sosial tersebut. Konsep yang unik membuatnya laku. Dilansir Fast Company, hanya dalam beberapa hari terdapat sekitar 650 mahasiswa Harvard yang mendaftar di thefacebook.com. Tak lama, jumlahnya membludak. Komputer pribadi Zuckerberg yang dijadikan server, down!

Dalam dunia IT, server merupakan komputer yang bertugas mengelola akses ke database. Secara sederhana, server merupakan komputer yang bertugas menyajikan data pada komputer semacam perangkat smartphone atau tablet. Di dunia world wide web (WWW), server ialah tempat file-file terkait situsweb ditempatkan untuk diakses pengguna internet di seluruh jagat maya.

Server mati atau tak memberikan respons atau “server is down” merupakan hal biasa. Ada banyak penyebab mengapa server bisa tak merespons. Pada kisah Facebook di atas, server anjlok karena banyaknya permintaan (request) dari pengguna, dari para mahasiswa Harvard yang ingin menggunakan thefacebook.com.

Ini pun bisa terjadi, misalnya, pada situsweb penerimaan CPNS di laman http://sscn.bkn.go.id/. Laman itu sangat mungkin tak bisa diakses karena server yang menaunginya down, karena kelebihan permintaan (request) dari orang-orang yang berniat jadi calon PNS. Kejadian situsweb pendaftaran CPNS bermasalah karena server down sering kali terjadi saat musim pembukaan formasi CPNS.

Baca juga:

Server ibarat sebuah ruangan museum yang menampung berbagai koleksi yang bisa dilihat pengguna. Dalam sehari misalnya, kapasitas museum hanya bisa menampung 1.000 orang. Namun, jika dipaksakan melebihi kapasitas maka akan penuh sesak. Server yang kelebihan “pengunjung” kondisinya bisa semacam ini.

Serverbolt, salah satu penyedia hosting, tempat menyimpan file agar bisa online, secara sederhana menggambarkan bahwa seberapa besar kemampuan suatu server dapat menerima permintaan (request) dijabarkan dari persamaan: “(jumlah inti CPU yang digunakan server/rata-rata laman ditampilkan dalam hitungan detik) x 60 (detik) x frekuensi pengguna mengklik tiap menit.”

Persamaan lain untuk mengukur seberapa kuat server ialah request per second (RPS) yang ditulis melalui “RPS= jumlah inti CPU x (1/Task time).” Task time sendiri tak berbeda jauh dengan seberapa cepat laman ditampilkan, seperti yang dijabarkan di atas.

Secara sederhana, melalui persamaan itu, semakin banyak inti CPU yang digunakan oleh sebuah server dan semakin cepat suatu laman ditampilkan, semakin tinggi kemampuan server untuk menopang situsweb.

Di pasaran, ada beragam CPU yang bisa digunakan membangun server. Salah satunya Intel Xeon. Varian E3-1225 v5, memiliki 4 inti CPU. Lalu, suatu laman umumnya bisa ditampilkan dalam waktu 0.0031 detik, tergantung, salah satunya, dari seberapa panjang baris kode yang menyusun laman tersebut.

Laman How Stuff Works, dalam salah satu artikelnya, menyebut server standar, menggunakan Intel Celeron 500MHz sebagai CPU, Linux sebagai sistem operasi server, dan memanfaatkan kabel internet berkekuatan T3 (sanggup mentransfer data sebesar 45 juta bit per detik), bisa menjadi server yang mendukung ratusan ribu pengunjung setiap hari. Server standar tersebut tak akan berguna manakala jumlah pengunjung telah membludak mencapai angka jutaan.


Infografik Penyebab server down

Belajar dari Facebook


Facebook merupakan salah satu situsweb paling besar dan sibuk dengan aktivitas pengguna di dunia maya. Pada 2009, Facebook memproses miliaran pesan tiap hari. Ada sekitar 1,2 juta foto yang ditata di media sosial itu tiap detik. Setahun kemudian, angkanya makin membesar.

Mengutip laman Facebook Engineering, media sosial yang bermula hanya bagi komunitas kampus itu memproses 500 juta pengguna aktif, 100 miliar hit, 50 miliar foto, dan memproses 130 terabyte log tiap harinya. Kini, Facebook mengelola 2,2 miliar pengguna di seluruh dunia. Angka fantastis bagi suatu situsweb. Secara sederhana, tiap detik, Facebook harus mengelola permintaan pengguna dengan kuantitas jumbo.


Bagaimana Facebook sanggup melakukannya, tanpa terkena masalah “server down”?

Facebook memiliki pusat data (data centre) yang menampung ribuan server yang tersebar di penjuru dunia. Beberapa di antaranya ada di Oregon, North Carolina, Iowa, Swedia, hingga Singapura. Namun, mengelola permintaan dengan kuantitas jumbo tak sekadar selesai dengan pusat data yang banyak. Robert Johnson, teknisi Facebook, mengatakan salah satu solusi Facebook sanggup mengelola permintaan yang jumbo ialah dengan “memotong proses permintaan ke pilah-pilah kecil.”

“Katakanlah kita pecah ke dua fungsi, akun dan profil (pengguna Facebook), yang masing-masing ditempatkan di database berbeda,” cetus Johnson.

Mike Schroepfer, yang pada 2009 menjabat Vice President of Engineering Facebook, lebih lanjut mengungkap bahwa solusi lain bagi layanan seperti Facebook, yang memproses miliaran permintaan, ialah “caching”.

Schroepfer mengatakan Facebook harus memperbarui database-nya dalam hitungan detik. Tiap “like” yang dilakukan pengguna Facebook pada satu unggahan, mesti disimpan di database. Memasukkan data demikian langsung ke database akan bermasalah, misalnya waktu proses akan lebih lambat. Caching, dalam dunia komputer, merupakan area memori di komputer yang bertugas menyimpan data sementara guna bisa diproses cepat. Dikombinasikan dengan memilah database ke tempat berbeda akan meningkatkan kecepatan.

“Jadi kita harus memisahkannya, membaginya, ke ribuan database, dan kemudian dapat menggunakan database tersebut dengan kecepatan tinggi,” kata Schroepfer.

Jurus lain Facebook untuk dapat mengelola permintaan yang super jumbo diungkap oleh Cade Metz dalam tulisannya di Wired. Di awal kemunculan, Facebook dibangun dengan bahasa pemrograman bernama PHP. PHP kurang pas bagi situsweb atau aplikasi berskala besar seperti Facebook. Namun, media sosial itu lantas menciptakan alat bernama HipHop di 2010, yang mampu mengubah baris kode berbasis PHP menjadi C++. Atas siasat ini, Facebook bisa berlari 500 hingga 600 persen lebih cepat dibandingkan saat menggunakan PHP murni.

Facebook tak berhenti pada HipHop. Untuk membuat sistem facebook sanggup berlari lebih cepat mereka menciptakan mesin virtual (virtual machine). Alih-alih hanya mengubah kode berbasis PHP menjadi C++, dengan mesin virtual, kode PHP yang membangun Facebook itu diterjemahkan menjadi kode natif mesin. Suatu bahasa pemrograman yang mampu “berbicara” langsung pada chip atau prosesor yang jadi otak server-server Facebook.

Ini membuat Facebook, selain mampu mengelola miliaran permintaan, sanggup berlari kencang. Persoalan server down hanya masalah kesiapan, mengelola, dan antisipasi level tinggi. Pengelola situsweb pendaftaran CPNS nampaknya harus lebih siap.

Baca juga artikel terkait SERVER atau tulisan menarik lainnya Ahmad Zaenudin
(tirto.id - Teknologi)


Penulis: Ahmad Zaenudin
Editor: Suhendra