BunnyTest
Test methodology
Server and test conditions
The primary server is the edge network serving this site. Additional servers appear when configured. We do not assume a server city when its location is unavailable. Results describe the path between your device and the selected server.
For comparisons, keep the same device and server. Pause transfers, disable your VPN if you want to measure without it, and compare Wi-Fi with Ethernet. Test at different times: one measurement does not establish an ISP fault.
HTTP ping and jitter
The default test discards three warm-up requests and attempts 20 samples, 80 ms apart, with a two-second request timeout. Displayed ping is the lowest valid sample. Where available, browser timing measures request start to response start; otherwise, the entire request duration is used.
This is HTTP ping, not ICMP or latency to a game server. Jitter requires three samples, removes values above three times the median plus 5 ms, then averages absolute differences between consecutive remaining samples. It is not the RTP jitter calculation from RFC 3550.
Download, upload and data use
By default, download uses six concurrent streams for approximately ten seconds. Mbps equals received bytes × 8 ÷ seconds ÷ 1,000,000. When sufficient data is available, the first two warm-up seconds are excluded from the final rate.
Upload uses four streams for approximately nine seconds, sending random data generated in browser memory. Its rate uses bytes sent in completed requests and elapsed time. Failures, request limits and concurrency can affect results. Personal files are not read to generate test traffic.
Tests transfer real data and can consume a significant part of a mobile allowance. Speed also depends on the browser, device and measurement infrastructure; it is not a guarantee of speed to every destination.
Estimated loss and stability
Estimated loss is (requests sent − responses received) ÷ requests sent × 100, requiring at least five requests. It represents HTTP failures or timeouts, not a direct measurement of lost UDP packets.
Stability requires five ping samples. Starting at 100, it subtracts the minimum of CV × 80, standard deviation × 1.5 and 45, plus up to 40 points for estimated loss (loss percentage × 8). With six positive throughput samples available for the calculation, it also subtracts up to 15 points for throughput variation (CV × 25). CV is standard deviation divided by the mean. The rounded result is limited to 0–100.
BunnyTest Score and use ratings
The score combines download (weight 25), upload (15), ping (20), jitter (12), estimated loss (13) and stability (15). Download and upload use logarithmic scales with 500 and 200 Mbps references; ping uses 10–150 ms, jitter 0–40 ms, loss 0–5% and stability 0–100. Each component is bounded to 0–1.
We calculate a weighted mean of measured components only, adjusting their weights, and require at least three metrics. This is not an official score. Use ratings prioritize the worst available critical metric and indicate missing data. A high score does not guarantee performance in every application.
Missing data and history
Unavailable metrics are labeled “Not available in this test”; we do not invent results. History stores up to 50 tests in your browser, without raw sample series. Historical averages require at least three available values per metric.
When reporting a problem, include the tool, time, browser, Wi-Fi or Ethernet connection and the observed message. These details help distinguish measurement limitations from connection problems.