Lingkup aman: Panduan ini berlaku hanya untuk lingkungan QA, staging, dan praproduksi milik sendiri atau yang Anda miliki otorisasinya. Materi membahas pola diagnostik, pengujian, dan observabilitas untuk integrasi CAPTCHA Anda sendiri — bukan untuk situs pihak ketiga atau alur tanpa otorisasi.
Waktu respons solver CAPTCHA sangat bergantung pada jenis CAPTCHA, wilayah, beban, dan integrasi. Panduan ini memberikan metodologi yang konsisten untuk mengukur di lingkungan Anda sendiri — bukan klaim universal tentang penyedia mana yang paling cepat.
Mengapa benchmark harus dilakukan di lingkungan sendiri
Latensi jaringan dari pusat data Anda, jenis CAPTCHA spesifik, dan tingkat retry semuanya mempengaruhi waktu yang Anda lihat dalam produksi. Benchmark publik adalah indikatif — hasil di lingkungan Anda dapat berbeda.
Metodologi pengukuran
Untuk setiap jenis CAPTCHA, jalankan 200+ tugas dari pipeline Anda sendiri. Catat untuk setiap tugas: timestamp submit in.php, timestamp polling pertama yang sukses dari res.php, dan total waktu wallclock. Hitung median, P90, dan P99.
Template tabel pengukuran
| 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 bersifat indikatif untuk lingkungan Anda dan dapat bervariasi menurut jenis CAPTCHA, wilayah, beban, dan integrasi.
Kompatibilitas dan cakupan
Saat membandingkan penyedia, pastikan setiap penyedia menangani jenis CAPTCHA yang sama. Bandingkan apel dengan apel: reCAPTCHA v2 vs reCAPTCHA v2, bukan image OCR vs Turnstile.
Perencanaan kapasitas dengan data sendiri
Setelah Anda memiliki distribusi sendiri, hitung throughput berkelanjutan: tugas/menit = 60 / median_detik * worker. Tambahkan buffer 30% untuk lonjakan.
Script benchmark
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])
Pertanyaan umum
Apakah ada solver respons kompetitif universal? Tidak. Hasil bervariasi menurut wilayah, jenis, beban, dan integrasi.
Apakah klaim akurasi tinggi yang bersifat indikatif atau peningkatan waktu yang bersifat indikatif valid? Hanya jika didukung oleh metodologi yang dipublikasikan dan signoff. Tanpa itu, perlakukan sebagai indikatif saja.
Pemecahan masalah
| Gejala | Tindakan yang disarankan |
|---|---|
| Tes tidak menemukan widget | 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 action/sitekey dengan konfigurasi sebenarnya |
Panduan terkait yang aman
- Mulai cepat CaptchaAI
- QA CAPTCHA terotorisasi
- Pengujian endpoint CAPTCHA pada formulir sendiri
- Debug saat tes browser gagal padahal API berfungsi
- Menyelesaikan reCAPTCHA v2 dengan API
- Menyelesaikan Cloudflare Turnstile dengan API
- Menyelesaikan GeeTest v3 dengan API
Validasi integrasi CAPTCHA Anda di lingkungan sendiri dengan CaptchaAI.