Comparisons

Cara mengukur waktu respons solver CAPTCHA pada 2025

Lingkup aman: Panduan ini berlaku untuk lingkungan QA, staging, dan praproduksi milik sendiri atau yang sudah Anda dapatkan otorisasinya. Isinya adalah pola pengukuran, pengujian, dan observability untuk integrasi CAPTCHA Anda sendiri — bukan panduan untuk situs pihak ketiga atau alur tanpa izin.

Tidak ada satu angka waktu respons solver CAPTCHA yang berlaku universal. Permintaan reCAPTCHA v2 dari server di Jakarta bisa selesai beberapa detik lebih lambat dibanding dari Singapura, tergantung beban saat itu, jenis CAPTCHA, dan berapa kali task Anda di-retry. Yang benar-benar berguna bukan klaim "paling responsif" di halaman marketing, melainkan metodologi yang bisa Anda jalankan sendiri untuk mencatat median, P90, dan P99 — lalu dipakai konsisten setiap kali membandingkan penyedia.


Kenapa benchmark orang lain tidak bisa langsung dipakai

Latensi jaringan dari data center Anda ke endpoint solver, jenis CAPTCHA spesifik yang muncul di situs target, dan tingkat retry pipeline Anda semuanya ikut menentukan angka yang Anda lihat di produksi. Benchmark yang dipublikasikan pihak lain sifatnya indikatif saja — hasil di lingkungan Anda, dengan region, jam traffic, dan volume Anda sendiri, bisa berbeda cukup jauh. Solusinya bukan mencari angka yang "benar" secara universal, tapi mengukur di tempat yang sama persis dengan tempat pipeline Anda berjalan.


Metodologi: mengukur median, P90, dan P99 sendiri

Untuk setiap jenis CAPTCHA, jalankan minimal 200 task dari pipeline Anda sendiri — bukan dari skrip terpisah di mesin lain dengan koneksi berbeda. Catat tiga timestamp per task: saat submit ke in.php, saat polling pertama yang sukses dari res.php, dan total waktu wallclock dari submit sampai token diterima.

Kenapa bukan cuma rata-rata? Rata-rata gampang disamarkan oleh satu-dua task yang kebetulan selesai sangat cepat. Median menunjukkan pengalaman task "normal", P90 menunjukkan seperti apa 1 dari 10 task yang lebih lambat, dan P99 menunjukkan skenario terburuk yang masih wajar Anda temui — angka yang paling relevan untuk menentukan timeout dan retry budget di pipeline produksi.

Script benchmark siap pakai

Script berikut mengukur reCAPTCHA v2 sebagai contoh; ganti method dan parameter sesuai jenis CAPTCHA yang sedang Anda uji.

import os, time, statistics, requests
API_KEY = os.environ['CAPTCHAAI_API_KEY']
SAMPLES = 200

def submit_recaptcha_v2(sitekey, pageurl):
    r = requests.post('https://ocr.captchaai.com/in.php', data={
        'key': API_KEY, 'method': 'userrecaptcha',
        'googlekey': sitekey, 'pageurl': pageurl, 'json': 1,
    }).json()
    return r['request']

def wait(task_id):
    t0 = time.time()
    while True:
        time.sleep(5)
        rr = requests.get('https://ocr.captchaai.com/res.php', params={
            'key': API_KEY, 'action': 'get', 'id': task_id, 'json': 1,
        }).json()
        if rr['status'] == 1:
            return time.time() - t0

times = [wait(submit_recaptcha_v2(SITE, PAGE)) for _ in range(SAMPLES)]
print('median', statistics.median(times))
print('p90', statistics.quantiles(times, n=10)[8])
print('p99', statistics.quantiles(times, n=100)[98])

Jalankan script dari mesin atau worker yang sama dengan yang dipakai pipeline produksi Anda, bukan dari laptop dengan koneksi jaringan yang berbeda — kalau tidak, hasilnya mengukur koneksi Anda, bukan performa solver.


Template tabel: isi dengan hasil pengukuran Anda sendiri

Jenis CAPTCHA Sampel Median P90 P99
reCAPTCHA v2 200 diisi diisi diisi
reCAPTCHA v3 200 diisi diisi diisi
Cloudflare Turnstile 200 diisi diisi diisi
GeeTest v3 200 diisi diisi diisi
Image / OCR 200 diisi diisi diisi

Nilai di atas murni indikatif untuk lingkungan Anda dan bisa bervariasi menurut jenis CAPTCHA, region, beban, dan cara integrasinya — jangan menyalin angka dari artikel mana pun sebagai patokan final.


Pastikan perbandingannya apel ke apel

Saat membandingkan beberapa penyedia solver, uji setiap penyedia dengan jenis CAPTCHA, sitekey, dan volume sampel yang sama persis. Bandingkan reCAPTCHA v2 vs reCAPTCHA v2, bukan image/OCR di satu penyedia melawan Turnstile di penyedia lain — dua jenis CAPTCHA itu punya karakteristik penyelesaian yang jauh berbeda, sehingga hasilnya tidak sebanding.


Pisahkan latensi jaringan dari waktu penyelesaian CAPTCHA-nya

Kalau worker scraping Anda berjalan di region seperti AWS ap-southeast-3 (Jakarta) atau ap-southeast-1 (Singapura), sebagian dari total waktu yang tercatat adalah round-trip jaringan ke endpoint solver, bukan waktu penyelesaian CAPTCHA itu sendiri. Catat waktu request HTTP murni (tanpa menunggu polling) secara terpisah dari waktu total submit-sampai-token, supaya Anda tahu persis berapa besar kontribusi jaringan lokal terhadap angka akhir. Ini juga berguna kalau sebagian job Anda berjalan dari jaringan mobile atau koneksi kantor yang kurang stabil — pisahkan sampelnya, jangan dicampur dengan sampel dari data center.


Menghitung kapasitas dari distribusi Anda sendiri

Setelah Anda punya distribusi waktu sendiri, hitung throughput berkelanjutan dengan rumus sederhana: task/menit = 60 / median_detik * jumlah_worker. Tambahkan buffer sekitar 30% untuk menampung lonjakan traffic — misalnya musim promo, atau saat situs target sedang lebih sering menampilkan tantangan interaktif. Gunakan P90, bukan median, kalau Anda menghitung SLA yang harus terpenuhi hampir selalu; median terlalu optimis untuk komitmen SLA.


Troubleshooting

Gejala Tindakan yang disarankan
Skrip tes tidak menemukan widget CAPTCHA Periksa selector dan timing pada staging Anda
CaptchaAI mengembalikan ERROR_NO_SLOT_AVAILABLE Coba ulang dengan backoff pada pipeline internal
Backend QA menolak token Bandingkan parameter action/sitekey dengan konfigurasi sebenarnya
Sampel dari jaringan mobile jauh lebih lambat dari data center Ukur dan laporkan terpisah, jangan digabung ke satu rata-rata

Pertanyaan umum

Berapa lama waktu penyelesaian CAPTCHA yang wajar?

Tidak ada satu angka yang berlaku untuk semua kasus — tergantung jenis CAPTCHA, region, dan beban saat itu. Jalankan metodologi di atas selama minimal 200 sampel per jenis untuk mendapat angka yang relevan dengan pipeline Anda sendiri.

Bagaimana cara membandingkan kecepatan API CAPTCHA antar penyedia secara adil?

Uji setiap penyedia dengan jenis CAPTCHA, sitekey, dan jumlah sampel yang sama, dari region yang sama, di jam yang sebisa mungkin sama. Bandingkan median dan P90 masing-masing, bukan cuma satu angka klaim dari halaman marketing.

Apakah interval polling memengaruhi waktu respons yang tercatat?

Ya. Polling terlalu sering (di bawah 3-5 detik) menambah beban tanpa mempercepat hasil, sementara interval yang terlalu jarang membuat waktu tercatat lebih tinggi dari waktu penyelesaian sebenarnya. Interval 5 detik seperti pada script di atas adalah titik awal yang wajar.

Apakah kecepatan solver berdampak pada tingkat keberhasilan?

Keduanya metrik yang berbeda dan perlu diukur terpisah. Solver yang responsnya cepat tapi sering mengembalikan token invalid tidak membantu pipeline Anda — catat success rate dan waktu respons di kolom terpisah pada log pengukuran Anda.

Seberapa sering saya perlu menjalankan ulang benchmark ini?

Setiap kali ada perubahan besar pada situs target, atau minimal setiap kuartal. CAPTCHA di sisi situs target berubah, volume traffic Anda berubah, dan performa solver bisa bergeser — benchmark yang sudah berumur enam bulan tidak lagi mewakili kondisi sekarang.


Panduan terkait yang aman

Ukur waktu respons di lingkungan Anda sendiri dengan CaptchaAI.

Komentar dinonaktifkan untuk artikel ini.