Skip to main content
PENAFIAN PENTING: Hanya untuk Pusat Data ProduksiPengujian latensi ini dirancang hanya untuk lingkungan pusat data produksi. JANGAN jalankan pengujian ini di mesin lokal atau koneksi internet konsumen. Bandwidth lokal tidak mampu menangani langganan Solana yang berat dan akan menghasilkan data yang tidak bermakna serta tidak mencerminkan performa di dunia nyata.
PERSYARATAN KOLOKASI: Terapkan di Dekat Endpoint LaserStream AndaUntuk mendapatkan pengukuran latensi yang bermakna, Anda harus menempatkan infrastruktur pengujian di wilayah yang sama dengan endpoint LaserStream pilihan Anda. Jarak jaringan akan mendominasi hasil pengukuran Anda—pengujian dari benua lain akan menunjukkan latensi jaringan, bukan performa LaserStream.

Memahami latensi dalam sistem blockchain terdistribusi

Saat bekerja dengan layanan streaming blockchain, pengukuran latensi menjadi rumit karena sistem terdistribusi tidak memiliki jam universal. Tidak seperti sistem tradisional yang memungkinkan Anda mengukur waktu perjalanan bolak-balik ke satu server, jaringan blockchain melibatkan banyak validator yang masing-masing menerima dan memproses transaksi yang sama pada waktu berbeda. Tantangan mendasar: Blockchain seperti Solana tidak memiliki konsep waktu absolut. Setiap node validator di seluruh dunia akan menerima transaksi yang sama pada waktu berbeda, dan konfirmasi bergantung pada persentase klaster yang mencapai konsensus. Hal ini membuat pengukuran latensi deterministik mustahil dilakukan dalam pengertian tradisional.

Tingkat komitmen dan prioritas latensi

Solana menawarkan tiga tingkat komitmen, masing-masing dengan karakteristik latensi yang berbeda:
  • Processed: Tercepat, konfirmasi oleh satu validator (~400 md)
  • Confirmed: Sedang, konfirmasi oleh mayoritas super (~2–3 detik)
  • Finalized: Paling lambat, finalisasi jaringan secara menyeluruh (~15–30 detik)
Untuk aplikasi yang sensitif terhadap latensi, komitmen processed biasanya menjadi target. Semua pengujian dalam panduan ini menggunakan tingkat komitmen processed karena sebagian besar kasus penggunaan berfrekuensi tinggi memprioritaskan kecepatan dibandingkan finalitas absolut.

Tiga pendekatan untuk mengukur latensi

1. Membandingkan aliran gRPC paralel

Metode paling andal—Membandingkan dua aliran independen ke sumber data yang sama untuk mengukur aliran mana yang menerima peristiwa identik terlebih dahulu. Keunggulan:
  • Menghilangkan masalah sinkronisasi jam
  • Menyediakan perbandingan performa relatif
  • Paling akurat untuk membandingkan layanan

2. Perbandingan stempel waktu lokal dengan created_at

Keandalan sedang—Mengukur selisih antara waktu sistem Anda menerima pesan dan stempel waktu yang disematkan dalam pesan oleh layanan LaserStream. Keterbatasan:
  • Hanya merepresentasikan waktu saat LaserStream membuat pesan secara internal
  • Penundaan upstream menuju LaserStream tidak akan tercatat
  • Kurang akurat dibandingkan Metode 1 untuk latensi ujung ke ujung yang sebenarnya

3. Analisis stempel waktu blok (tidak direkomendasikan)

Tidak direkomendasikan—Membandingkan waktu penerimaan lokal dengan stempel waktu blok Solana. Keterbatasan signifikan:
  • Stempel waktu blok hanya memiliki tingkat ketelitian dalam detik
  • Solana menghasilkan blok setiap 400 md
  • Hanya menyediakan sedikit informasi yang berguna

Persyaratan penyiapan

Kolokasi regional

Untuk mendapatkan pengukuran latensi yang bermakna, terapkan infrastruktur pengujian Anda di pusat data atau wilayah yang sama dengan endpoint LaserStream Anda. Wilayah LaserStream yang tersedia:
  • ewr: New York, AS (Pantai Timur) - https://laserstream-mainnet-ewr.helius-rpc.com
  • pitt: Pittsburgh, AS (Tengah) - https://laserstream-mainnet-pitt.helius-rpc.com
  • slc: Salt Lake City, AS (Pantai Barat) - https://laserstream-mainnet-slc.helius-rpc.com
  • ams: Amsterdam, Eropa - https://laserstream-mainnet-ams.helius-rpc.com
  • fra: Frankfurt, Eropa - https://laserstream-mainnet-fra.helius-rpc.com
  • tyo: Tokyo, Asia - https://laserstream-mainnet-tyo.helius-rpc.com
  • sgp: Singapura, Asia - https://laserstream-mainnet-sgp.helius-rpc.com
Untuk pengujian devnet, gunakan: https://laserstream-devnet-ewr.helius-rpc.com Lihat dokumentasi gRPC LaserStream untuk petunjuk penyiapan lengkap dan panduan pemilihan endpoint.

Penyiapan lingkungan Rust

Semua skrip pengukuran menggunakan Rust dengan Cargo. Penyiapan dasar:
Buat file .env dengan kredensial Anda:
Dapatkan kunci API Helius Anda dari Dasbor Helius. Devnet LaserStream tersedia di semua paket. Akses mainnet memerlukan paket Business atau Professional.

Metode 1: Perbandingan aliran paralel

Skrip ini membuat dua koneksi independen ke endpoint gRPC yang berbeda dan mengukur koneksi mana yang menerima pesan BlockMeta yang sama terlebih dahulu. Pendekatan ini menghilangkan masalah sinkronisasi jam dengan menggunakan pengukuran waktu relatif.
Hal yang diukur: Perbedaan performa relatif antara dua layanan streaming. Delta menunjukkan layanan mana yang mengirimkan informasi slot yang sama terlebih dahulu. Metrik utama:
  • Delta positif: Layanan pertama (YS) lebih lambat daripada layanan kedua (LS)—LaserStream lebih cepat
  • Delta negatif: Layanan pertama (YS) lebih cepat daripada layanan kedua (LS)—LaserStream lebih lambat
  • Rata-rata/Median: Perbedaan performa rata-rata
  • P95: Perbedaan latensi persentil ke-95
Menjalankan pengujian:
Contoh keluaran:
Keluaran menampilkan perbedaan latensi secara waktu nyata dan statistik berkala. Delta rata-rata yang positif menunjukkan bahwa layanan kedua (LaserStream) secara konsisten mengirimkan data lebih cepat.

Metode 2: Analisis stempel waktu pembuatan

Pendekatan ini membandingkan stempel waktu created_at yang disematkan dalam pesan dengan waktu sistem lokal Anda saat pesan diterima.
Keterbatasan penting: Metode ini hanya mengukur waktu sejak LaserStream membuat pesan hingga Anda menerimanya. Metode ini tidak memperhitungkan penundaan upstream antara peristiwa blockchain dan pemrosesan LaserStream. Menjalankan pengujian:
Contoh keluaran:
Metode ini memberikan wawasan mengenai latensi jaringan dan pemrosesan antara LaserStream dan aplikasi Anda, tetapi sebaiknya digunakan bersama dengan Metode 1 untuk analisis yang komprehensif.

Praktik terbaik untuk pengujian latensi

Prinsip utama

  • Kolokasi: Terapkan pengujian di wilayah yang sama dengan endpoint LaserStream Anda untuk meminimalkan latensi jaringan
  • Beberapa metode: Gunakan perbandingan aliran paralel (Metode 1) sebagai metrik utama Anda dan lengkapi dengan analisis stempel waktu
  • Pemantauan jangka panjang: Jalankan pengujian dalam waktu lama untuk menangkap berbagai kondisi jaringan dan kepadatan blockchain
  • Analisis statistik: Fokus pada persentil (P95, P99), bukan hanya rata-rata, untuk memahami latensi ekor

Menafsirkan hasil

  1. Tetapkan tolok ukur awal: Jalankan pengujian setidaknya selama 1 jam untuk menetapkan performa dasar dalam kondisi normal
  2. Identifikasi pola: Cari pola dalam lonjakan latensi—apakah lonjakan tersebut berkorelasi dengan aktivitas blockchain yang tinggi atau kepadatan jaringan?
  3. Bandingkan persentil: Latensi P95 sering kali lebih penting daripada latensi rata-rata bagi pengalaman pengguna
  4. Pantau konsistensi: Performa yang konsisten sering kali lebih berharga daripada latensi minimum absolut
Ingat bahwa latensi blockchain pada dasarnya bervariasi karena persyaratan konsensus jaringan. Fokus pada perbedaan performa relatif dan konsistensi, bukan angka absolut.