• September 6, 2026
  • No Comments

Cara Benchmark Server LLM: Mengukur Latency, Throughput, dan Token per Second

Cara benchmark server LLM menjadi hal penting ketika perusahaan ingin mengetahui apakah GPU server yang digunakan sudah mampu menjalankan chatbot, AI assistant, atau aplikasi generative AI sesuai kebutuhan. Spesifikasi GPU yang tinggi belum tentu menjamin respons cepat, terutama ketika banyak pengguna mengakses model secara bersamaan. Karena itu, performa server perlu diukur menggunakan metrik yang sesuai, bukan hanya melihat kapasitas VRAM atau jumlah parameter model.

Dalam inference LLM, beberapa metrik yang sering digunakan adalah latency, throughput, dan token per second. Ketiganya mempunyai fungsi berbeda karena kecepatan respons satu pengguna tidak selalu sama dengan kapasitas server melayani banyak permintaan. Server yang mampu menghasilkan banyak token secara agregat, misalnya, belum tentu memberikan pengalaman terbaik jika setiap pengguna harus menunggu terlalu lama.

Apa Itu Benchmark Server LLM?

Benchmark server LLM adalah proses pengujian untuk mengukur kemampuan hardware dan software dalam menjalankan model bahasa pada kondisi tertentu. Pengujian dapat dilakukan untuk mengetahui kecepatan satu request, kapasitas melayani banyak pengguna, penggunaan VRAM, hingga kestabilan server saat menerima beban tinggi. Hasilnya dapat digunakan untuk membandingkan konfigurasi GPU atau menentukan apakah sistem sudah memenuhi target operasional.

Benchmark yang baik harus menggunakan model dan workload yang mendekati kondisi produksi. Model 8B dengan prompt pendek tidak dapat langsung dijadikan acuan untuk model 70B dengan context panjang, meskipun dijalankan pada GPU yang sama. Precision, quantization, inference engine, dan jumlah pengguna juga perlu dicatat agar hasil pengujian dapat dibandingkan secara adil.

Metrik dalam Benchmark LLM

Performa LLM tidak cukup dinilai menggunakan satu angka. Perusahaan perlu membedakan waktu tunggu pengguna, kecepatan generasi, dan kapasitas agregat server agar dapat mengetahui bottleneck yang sebenarnya. Metrik berikut dapat digunakan sebagai dasar pengujian inference.

Metrik Pengertian Kegunaan
TTFT Waktu sampai token pertama diterima Mengukur waktu tunggu awal
TPOT Rata-rata waktu menghasilkan token setelah token pertama Mengukur kecepatan generasi per request
ITL Jeda antara output token yang diterima Mengamati kelancaran streaming
End-to-End Latency Waktu dari request dikirim hingga respons selesai Mengukur pengalaman keseluruhan
Output Throughput Total token output yang dihasilkan server per detik Mengukur kapasitas generasi agregat
Request Throughput Jumlah request selesai per detik Mengukur kapasitas layanan
Goodput Jumlah pekerjaan yang memenuhi target performa Mengukur kapasitas yang benar-benar layak digunakan

Dokumentasi resmi vLLM menjelaskan pengukuran TTFT, TPOT, ITL, throughput, serta berbagai metrik latency pada benchmark serving. Istilah dan titik pengukuran dapat berbeda antartools, sehingga perusahaan perlu memeriksa definisi metrik sebelum membandingkan hasil. Referensi teknisnya tersedia pada dokumentasi Benchmark CLI vLLM.

Memahami Latency, TTFT, dan TPOT

Latency menunjukkan waktu yang dibutuhkan untuk menyelesaikan proses tertentu. Pada chatbot, end-to-end latency dihitung sejak request dikirim sampai respons selesai diterima, sehingga mencakup waktu tunggu, pemrosesan prompt, dan generasi output. Metrik ini penting untuk mengetahui apakah pengguna memperoleh respons dalam waktu yang sesuai dengan kebutuhan aplikasi.

Baca Juga:  Daftar Harga Server Ex Perusahaan Paling Laris Tahun Ini

Time to First Token (TTFT) mengukur waktu sampai token pertama diterima oleh client. Jika TTFT tinggi, pengguna akan merasa chatbot lambat memulai jawaban meskipun token berikutnya dihasilkan dengan cepat. Penyebabnya dapat berasal dari antrean request, proses prefill, atau komponen lain yang berada di jalur permintaan.

Time per Output Token (TPOT) mengukur rata-rata waktu generasi token setelah token pertama. Sebagai contoh ilustratif, TPOT 50 milidetik setara dengan sekitar 20 output token per detik untuk request tersebut. Namun, angka ini tidak sama dengan throughput agregat server yang melayani banyak pengguna.

Apa Perbedaan Token per Second dan Throughput?

Token per second sering digunakan untuk menggambarkan kecepatan model menghasilkan respons. Namun, perusahaan perlu memastikan apakah angka tersebut merujuk pada kecepatan satu request atau total token yang dihasilkan seluruh server. Kedua metrik tersebut dapat memberikan gambaran performa yang sangat berbeda.

Sebagai contoh, satu pengguna memperoleh kecepatan 30 token per detik. Ketika server melayani 10 pengguna secara bersamaan, throughput agregat mungkin meningkat karena beberapa request diproses dalam batch. Namun, kecepatan masing-masing pengguna tidak otomatis tetap 30 token per detik karena resource GPU harus dibagi.

Throughput juga dapat dinyatakan sebagai jumlah request yang selesai setiap detik. Metrik ini berguna untuk capacity planning, tetapi perlu dibaca bersama panjang output karena satu request dapat menghasilkan 50 token sementara request lain menghasilkan 1.000 token. Karena itu, perbandingan throughput harus menggunakan karakter workload yang sama.

Mengapa Concurrency Memengaruhi Hasil Benchmark?

Concurrency menunjukkan jumlah request yang sedang diproses secara bersamaan. Semakin tinggi concurrency, semakin besar peluang inference engine memanfaatkan batching untuk meningkatkan throughput agregat. Namun, penambahan request juga meningkatkan kebutuhan KV cache dan dapat memperpanjang waktu tunggu ketika kapasitas server mulai mencapai batas.

Sebagai contoh, chatbot mungkin memberikan respons sangat cepat ketika hanya digunakan satu orang. Ketika 20 pengguna mengirim pertanyaan secara bersamaan, throughput agregat dapat meningkat, tetapi TTFT dan latency masing-masing pengguna juga dapat bertambah. Karena itu, benchmark satu pengguna tidak cukup untuk menentukan kapasitas server produksi.

Perusahaan perlu menguji beberapa tingkat concurrency dan membandingkan hasilnya. Tujuannya bukan mencari jumlah request terbanyak yang masih dapat dijalankan, melainkan menemukan kapasitas yang tetap memenuhi target latency dan tingkat keberhasilan layanan. Pendekatan ini membantu menentukan jumlah pengguna aktif yang realistis untuk setiap konfigurasi GPU.

Cara Melakukan Benchmark Server LLM

Sebelum memulai pengujian, perusahaan perlu menentukan model, hardware, dan target performa yang akan digunakan. Seluruh konfigurasi sebaiknya dicatat agar hasil benchmark dapat diulang dan dibandingkan. Pengujian juga perlu dilakukan pada lingkungan yang tidak sedang digunakan oleh workload lain yang dapat mengganggu hasil.

Informasi yang perlu disiapkan meliputi:

  • Nama dan versi model serta tokenizer.
  • Ukuran model, precision, dan metode quantization.
  • Seri GPU, jumlah GPU, serta kapasitas VRAM.
  • CPU, RAM, storage, dan konfigurasi networking.
  • Versi driver, CUDA, dan inference engine.
  • Panjang prompt serta target token output.
  • Tingkat concurrency dan pola kedatangan request.
  • Target TTFT, TPOT, latency, dan tingkat error.
  • Penggunaan VRAM serta utilisasi GPU selama pengujian.

Setelah konfigurasi ditentukan, lakukan warm-up agar proses awal seperti loading model atau inisialisasi tertentu tidak mencampuri hasil pengujian steady-state. Jalankan benchmark beberapa kali menggunakan workload yang konsisten, kemudian bandingkan hasil rata-rata dan persentil latency. Jika terdapat perbedaan besar antarpengujian, periksa apakah ada proses lain, perubahan cache, atau kondisi sistem yang memengaruhi hasil.

Baca Juga:  Membangun Infrastruktur Generative AI On-Premise untuk Perusahaan

Contoh Benchmark Menggunakan vLLM

vLLM menyediakan perintah benchmark untuk menguji server inference yang sedang berjalan. Salah satu pendekatan yang dapat digunakan adalah vllm bench serve, yang mengirim request ke endpoint model dan mencatat hasil throughput serta latency. Tool ini dapat digunakan untuk membandingkan beberapa konfigurasi menggunakan model dan dataset yang sama.

Sebagai contoh, setelah model dijalankan melalui vLLM dan endpoint tersedia secara lokal, pengujian dapat dilakukan menggunakan perintah berikut:

vllm bench serve \
  --backend openai \
  --model Qwen/Qwen2.5-7B-Instruct \
  --endpoint /v1/completions \
  --base-url http://localhost:8000 \
  --dataset-name random \
  --random-input-len 512 \
  --random-output-len 128 \
  --num-prompts 200 \
  --request-rate 2 \
  --max-concurrency 10 \
  --save-result

Contoh tersebut menggunakan dataset sintetis dengan target panjang input dan output tertentu. Parameter --request-rate mengatur laju kedatangan request, sedangkan --max-concurrency membatasi jumlah request outstanding pada sisi benchmark client. Nama model, endpoint, dan parameter perlu disesuaikan dengan versi vLLM serta konfigurasi server yang benar-benar digunakan.

Untuk pengujian produksi, data sintetis sebaiknya dilengkapi dengan sampel prompt yang mendekati penggunaan nyata. Chatbot berbasis RAG, misalnya, dapat mempunyai prompt jauh lebih panjang dibandingkan chatbot FAQ sederhana. Perusahaan juga perlu memperhatikan efek prefix caching karena pengulangan prompt yang sama dapat membuat hasil benchmark terlihat lebih tinggi daripada kondisi penggunaan yang sebenarnya.

Contoh Membaca Hasil Benchmark

Agar hasil pengujian lebih mudah dipahami, perusahaan dapat menyusun laporan yang membandingkan performa pada beberapa tingkat beban. Tabel berikut merupakan contoh ilustratif, bukan hasil pengujian GPU tertentu dan tidak boleh digunakan sebagai jaminan performa hardware. Angkanya hanya menunjukkan bagaimana throughput dan latency dapat berubah ketika concurrency meningkat.

Concurrency Output Throughput TTFT p95 TPOT Rata-rata Error
1 45 token/s 0,4 detik 22 ms 0%
5 180 token/s 0,8 detik 28 ms 0%
10 300 token/s 1,5 detik 35 ms 0%
20 360 token/s 4,2 detik 60 ms 1%

Pada contoh tersebut, throughput meningkat ketika concurrency bertambah, tetapi kenaikannya mulai melambat pada beban yang lebih tinggi. Pada saat yang sama, TTFT dan TPOT meningkat sehingga pengalaman pengguna dapat menurun. Jika perusahaan menetapkan target TTFT p95 maksimal dua detik, konfigurasi concurrency 10 mungkin lebih layak daripada concurrency 20 meskipun throughput agregatnya lebih rendah.

Mengapa p95 dan p99 Perlu Diperhatikan?

Rata-rata latency tidak selalu menggambarkan pengalaman seluruh pengguna. Sebagian besar request mungkin selesai dengan cepat, tetapi sejumlah kecil request dapat mengalami waktu tunggu yang jauh lebih panjang. Karena itu, perusahaan perlu melihat persentil seperti p95 dan p99 untuk memahami performa pada kondisi yang lebih berat.

Sebagai contoh, TTFT p95 sebesar dua detik berarti sekitar 95% request dalam sampel mempunyai TTFT tidak lebih dari dua detik. Namun, lima persen sisanya dapat mengalami waktu tunggu lebih panjang, sehingga tetap perlu diperiksa apabila aplikasi mempunyai kebutuhan respons yang ketat. Metrik persentil sebaiknya dibaca bersama jumlah sampel, tingkat error, dan pola beban agar tidak menghasilkan kesimpulan yang menyesatkan.

Goodput: Kapasitas yang Memenuhi Target Layanan

Throughput tertinggi belum tentu menjadi kapasitas yang layak digunakan untuk produksi. Perusahaan perlu menentukan Service Level Objective (SLO), misalnya batas TTFT, TPOT, atau end-to-end latency yang masih dapat diterima. Goodput kemudian dapat digunakan untuk mengukur pekerjaan yang berhasil diselesaikan sekaligus memenuhi target tersebut.

Baca Juga:  Pusat Server Second Bergaransi Jakarta untuk Bisnis

Sebagai contoh, sebuah server mampu menyelesaikan 10 request per detik, tetapi hanya tujuh request yang memenuhi batas latency perusahaan. Dalam kondisi tersebut, kapasitas yang relevan untuk perencanaan layanan bukan hanya angka 10 request per detik. Perusahaan perlu mempertimbangkan goodput dan tingkat error agar spesifikasi server tidak ditentukan berdasarkan hasil benchmark maksimum semata.

Kapan Perlu Optimasi atau Upgrade GPU Server?

Jika throughput rendah tetapi GPU utilization juga rendah, perusahaan perlu memeriksa kemungkinan bottleneck pada CPU, data pipeline, aplikasi, atau konfigurasi inference engine. Jika VRAM hampir penuh, optimasi context, quantization, atau pengelolaan KV cache dapat menjadi pertimbangan. Sementara itu, jika GPU sudah bekerja mendekati kapasitas dan latency meningkat ketika concurrency bertambah, penambahan kapasitas compute mungkin mulai diperlukan.

Optimasi seperti continuous batching dapat membantu meningkatkan pemanfaatan GPU pada workload dengan banyak request. Namun, teknik tersebut tidak otomatis menyelesaikan seluruh masalah karena kapasitas VRAM dan kemampuan komputasi tetap mempunyai batas. Perusahaan sebaiknya membandingkan hasil benchmark sebelum dan sesudah optimasi agar manfaatnya dapat diukur secara objektif.

Untuk memahami kebutuhan hardware berdasarkan ukuran model, perusahaan dapat membaca Server untuk Menjalankan LLM Lokal. Artikel tersebut dapat menjadi referensi lanjutan untuk menentukan GPU, RAM, dan storage sebelum melakukan pengadaan server. Sparta Server Indonesia juga menyediakan pilihan GPU Server Indonesia yang dapat disesuaikan dengan kebutuhan inference maupun pengembangan AI perusahaan.

Sparta Server Indonesia menyediakan solusi Server AI Indonesia untuk kebutuhan LLM dan aplikasi AI enterprise. Melalui Jasa Instalasi Server AI, perusahaan dapat berkonsultasi mengenai konfigurasi hardware, persiapan environment, serta pengujian performa sesuai workload yang direncanakan. Pendekatan ini membantu memastikan investasi GPU server didasarkan pada kebutuhan kapasitas dan hasil benchmark yang terukur. WhatsApp kami +62 878‑2224‑1000

FAQ Benchmark Server LLM

Apakah hasil benchmark dua model berbeda dapat dibandingkan langsung?

Tidak selalu. Model dengan ukuran, arsitektur, tokenizer, dan precision berbeda dapat mempunyai karakter komputasi yang tidak sama. Perbandingan sebaiknya menggunakan workload yang setara serta mempertimbangkan kualitas output agar model yang lebih cepat tidak otomatis dianggap lebih baik untuk seluruh kebutuhan.

Apakah benchmark perlu dilakukan setelah update driver atau inference engine?

Sebaiknya iya, terutama jika perubahan tersebut berpotensi memengaruhi performa atau kompatibilitas model. Update driver, CUDA, framework, maupun inference engine dapat mengubah perilaku komputasi dan penggunaan memory. Pengujian ulang membantu memastikan perubahan tidak menurunkan performa layanan produksi.

Apakah benchmark LLM dapat dilakukan tanpa GPU?

Bisa apabila model dan inference engine mendukung penggunaan CPU. Namun, hasilnya tidak dapat langsung digunakan untuk memperkirakan performa GPU karena arsitektur komputasi dan memory yang digunakan berbeda. Benchmark CPU tetap berguna untuk workload yang memang direncanakan berjalan tanpa akselerator.

Mengapa hasil benchmark pertama sering berbeda dari pengujian berikutnya?

Perbedaan dapat terjadi karena proses warm-up, inisialisasi kernel, loading model, atau perubahan kondisi cache. Beberapa inference engine juga mempunyai mekanisme caching yang dapat memengaruhi hasil ketika prompt yang sama digunakan berulang. Karena itu, pengujian perlu dilakukan secara konsisten dan kondisi cache harus dicatat.

Apakah benchmark server LLM juga perlu menguji kualitas jawaban?

Ya, terutama ketika perusahaan membandingkan model, precision, atau metode quantization yang berbeda. Konfigurasi yang lebih cepat belum tentu menghasilkan kualitas respons yang sama untuk seluruh tugas. Karena itu, benchmark performa sebaiknya dilengkapi evaluasi kualitas menggunakan pertanyaan dan dataset yang relevan dengan kebutuhan perusahaan.