Cara Benchmark dan Estimasi Performa VPS Terhadap Jumlah Trafik Pengunjung

Artikel ini mengulas secara singkat tetang bagaimana cara melakukan tes benchmark performa web server terhadap visitor traffic (trafik pengunjung) dan cara memperkirakan seberapa banyak jumlah pengunjung yang mampu dilayani oleh server tersebut.

Alat yang digunakan adalah Loader.io, yaitu penyedia layanan Load Testing Test.

Apa itu? Yakni layanan dimana kamu bisa melakukan stress testing atau uji stressing dengan mengirimkan virtual trafik ke web servermu.

Singkatnya, dengan Loader.io kamu bisa membuat uji coba seberapa kuat performa web server untu menerima dan melayani trafik.

Kelebihan dari Loader.io adalah berbasis Cloud jadi tidak ribet harus download atau install software apapun.

Kekurangannya harga paketnya sangat mahal, tapi tersedia paket free dengan batasan hanya boleh 1 target host server, durasi test maksimal 1 menit, dan maksimal 10.000 client/test.

Cara Benchmark Menggunakan Loader.iO

Caranya mudah koq, ikuti saja langkah di bawah ini:

Cara Mendaftar

Pertama, silahkan mendaftar dulu gratis.

Kedua, aktifkan akunmu dengan konfirmasi email kemudian login ke Loader.io dengan password yang sudah ditentukan.

Selanjutnya, klik menu Target Hosts lalu klik tombol New Host.

Gambar 1. Target Host

Masukan domain web kamu tanpa perlu tambahan http atau https dan tanpa perlu garis miring, cukup nama domain seperti contoh.com saja.

Klik tombol Next: Verify untuk melanjutkan.

Pada halaman selanjutnya, download salah satu file verifikasi. Pilih yang html atau txt kemudian upload ke web directory server mu.

Gambar 2. Halaman Verifikasi

Klik tombol Verify. Jika sukses akan terlihat pesan seperti di bawah ini:

Gambar 3. Verifikasi sukses

Kemudian klik tulisan Now you can create a test! atau klik tombol New Test.

Cara Melakukan Benchmark Server Dengan Loader.io

Pertama, beri nama tes uji bechmark ini supaya mudah di kenali. Misal, Uji Server LEMP Vultr 1GB. Tulis pada kolom Name.

Kedua, pada pilihan Test Type, pilih salah satu jenis test antara: Clients Per Test, Clients Per Second, dan Maintain Clients Load.

Kemudian, masukkan jumlah Clients. Ingat, untuk akun free angka maksimal yang bisa dimasukkan adalah 10.000.

Pilih berapa lama test akan dilakukan (durasi). Ingat, akun free maksimal adalah 1 menit atau 60 detik.

Pilih protocol URL yang digunakan apakah http atau https.

Jika test ingin dilakukan terhadap halaman depan (homepage) website, kosongkan kolom Path.

Isi kolom Path dengan link lengkap jika tes akan dilakukan di salah satu halaman selain homepage.

Opsional, silahkan isi kolom Notes atu kosongkan saja. Seperti ini kira-kira.

Gambar 4. Halaman setting tes

Jika sudah, klik tombol Run Test.

Benchmark Test akan berjalan, tunggu sampai selesai untuk melihat hasilnya.

Cara Memilih Tipe Test Benchmark

Loader.io menyediakan 3 (tiga) tipe uji benchmark:

  • Clients per test: (Jumlah klien per sekali tes) jumlah klien akan dibagikan merata selama durasi test. Misal, 600 clients selama 1 menit, maka tiap 1 detik akan ada 10 clients yang mengakses website / melakukan koneksi ke server. Jika 300 clients selama 30 detik maka tiap detiknya sekitar 10 clients.
  • Clients per second: (Jumlah klien per detik) jumlah klien langsung ditentukan berapa tiap detiknya yang akan mengakses. Misal 250 clients selama 1 menit, maka tiap detik yang mengakses sebanyak 250 clients sehingga totalnya 15.000 clients dalam 1 menit (250 x 60 detik).
  • Maintain client load: (pertahankan jumlah load klien) jumlah klien akan dipertahankan selama durasi tes. Misal, jika angka Clients from diisi 0 dan to diisi 600 dengan durasi 1 menit, artinya tes akan dimulai dari 0 lalu 10 lalu 20, bertambah terus sampai 600 (tiap detik bertambah 10 yang konek).

Kegunaan Clients per test dan Clients per second sebenarnya hampir mirip.

Jika ingin melihat bagaimana jika ada load client yang mengakses dengan jumlah bervariasi tiap detik, pilih Clients per test.

Karena sistem akan membagi otomatis jumlah klien per detik selama 1 menit. Misal, jika angka yang dimasukkan 600 clients, maka per detik nya sudah pasti 10 clients. Jika angka yang dimasukkan 1000 clients, maka perdetiknya bervariasi antara 50 – 70 clients dengan total jumlah akhir tetap 600.

Jika ingin melihat bagaimana jika ada load client yang konstan (jumlahnya sama setiap detik), pilih Clients per detik.

Jika ingin melihat bagaimana jika ada load client yang terus bertambah dan berapa banyak client online yang bisa mengakses server bersamaan, pilih Maintain client load.

Cara Estimasi Jumlah Trafik Pengunjung

Bagian ini menjelaskan secara singkat bagaimana menggunakan Loader.io untuk menghitung perkiraan (estimasi) jumlah trafik pengunjung (visitors traffic) per hari / per bulan yang mampu ditampung oleh webserver dengan website mu di dalamnya.

Lakukan tes benchmark (load stress test) dengan Loader.io sesuai tutorial di atas.

Supaya mendekati realistis, pilih tipe tes yang Clients per test karena jumlah clients perdetik nya akan disesuaikan otomatis oleh system, tidak selalu berjumah sama tiap detiknya.

Pada jumlah clients, masukkan angka perkiraan terkecil dulu, misalnya 100 atau 200 clients.

Lakuan test dan lihat hasilnya. Contoh:

Gambar 5. Contoh hasil tes benchmark

Keterangan gambar:

  1. Rata-rata waktu respon
  2. Waktu respons tercepat (minimal) dan terlama (maksimal) yang tercatat
  3. Jumlah koneksi klien yang sukses
  4. Jumlah error 400 dan error 500 yang terjadi
  5. Jumlah network timeout
  6. Jumlah error jaringan
  7. Garis Biru adalah waktu respon server (response time) dalam satuan milisecond
  8. Garis Hijau adalah jumlah client per detik

Cara menghitung perkiraan jumlah visitors traffic / trafik pengunjung

Apabila pada tes pertama (misal 200 clients) garis biru masih stabil / terlihat lurus, berarti jumlah tersebut tidak ada masalah bagi server.

Lakukan tes lagi dengan menaikkan jumlah clients, bisa dinaikkan sedikit menjadi 300 atau 500, atau bisa juga langsung dinaikkan extreme ke 5000.

Jadi ada dua metode: naik sedikit-sedikit, atau langsung ke angka tinggi lalu dikurangi sedikit-sedikit.

Yang terjadi ada beberapa kemungkinan:

  • Garis biru tetap stabil (seperti contoh di atas)
  • Garis biru tidak stabil tapi masih tanpa error
  • Garis biru tidak stabil dan ada error

Error dapat diketahui dari kotak Response Count seperti penjelasan di atas.

Batas maksimal server

Seberapa banyak clients maksimal yang dapat di tampung server tentunya pada saat hasil test menunjukkan sebanyak mungkin jumlah clients sedangkan tanpa error sama sekali.

Batas optimal server

Perlu diingat bahwa ada kalanya walaupun tanpa error tetapi garis biru terlihat fluktuatif / tidak stabil dan average response times (waktu rata-rata response) tinggi.

Jika ini terjadi, walaupun server masih mampu melayani permintaan clients, tetapi secara performa akan mengalami pelambatan.

Lalu berapa jumlah clients optimal bagi server?

Sebenarnya tidak ada batasan pasti, tetapi sebuah penelitian menunjukkan bahwa waktu respon di atas 500 ms (setengah detik) akan menurunkan kepuasan pengunjung sebuah halaman web.

Untuk itu, batas optimal sebaiknya ketika rata-rata waktu response masih di kisaran angka 450-550 ms.

Rumus Perhitungan

Rumus perhitungannya sederhana, jika diketahui angka clients per menit, maka tinggal dikalikan ke hitungan hari atau bulan.

Misal, diketahui jumlah clients optimal yang mampu dilayani oleh VPS 1CPU dan RAM 512MB dengan Nginx + fcgi Cache adalah 5000 clients/menit.

Maka untuk 1 hari adalah 5000 clients/menit x 60 menit/jam x 24 jam/hari = 7.200.000 clients/hari.

Lalu apakah berarti server tersebut mampu melayani 7,2 juta pengunjung tiap hari? Tidak!

Loader.io hanya mengirimkan 1 request per client, artinya 1 client melakukan 1 request ke server tanpa parsing html dan assetnya.

Untuk itu diperlukan proxy / pendekatan perhitungan agar lebih realistis. Caranya dengan menghitung berapa request yang diperlukan untuk menampilkan 1 halaman web.

Bagaimana menghitungnya? Kalau manual jelas susah, cara cepatnya dengan menggunakan GTMetrix.

Hasilnya seperti di atas, pada bagian Page Details lihat pada Total Page Requests, tertera angka request yang di butuhkan untuk meload 1 halaman web.

Lebih lengkap tentang hasil benchmark untuk contoh ini baca: Uji performa WordPress di VPS Nginx dengan FastCGI Cache.

Angka ini bisa bervariasi tergantung theme, jumlah aset, jumlah gambar postingan, dll.

Pada contoh di atas sebanyak 47 requests.

Maka, angka hasil perhitungan di atas dibagi dengan total page request.

Contoh: 7,2 juta clients request per hari : 50 request = 144.000 clients/hari

Kenapa 50 bukan 47? Tidak ada salahnya supaya pembagiannya gampang maka angkanya di genapkan ke atas.

Sehingga, dari semua contoh di atas, maka VPS dengan RAM 512MB dan 1 CPU dapat menampung sekitar 144.000 pengunjung/hari.

Pada realitanya, selalu ada faktor-faktor yang tidak terwakili dalam simulasi.

Karena perhitungan ini hanya bersifat estimasi, maka jika saya secara pribadi selalu memakai ambang batas setengah dari hasil estimasi supaya aman (misal 144.000/2=72.000 visitor/hari)

Apabila sudah mencapai batas tersebut, maka saatnya upgrade server.

Lalu apakah visitor tersebut Unique Visitor atau Page Views? Saya lebih mengasumsikan angka tersebut adalah Page Views karena Unique Visitor biasanya menghitung jumlah unique IP, sedangkan pageviews menghitung first time / unique visitor dan returning visitor.

Kesimpulan

Secara singkat cara menghitung estimasi performa web server untuk visitors traffic (trafik pengunjung) cukup mudah menggunakan Loader.io dan perhitungan matematika sederhana.

Silahkan coba sendiri dan share hasilnya di kolom komentar.

Leave a Reply

Your email address will not be published. Required fields are marked *