Blog B2Proxy Image

How to reliably check the connection success rate of a proxy IP?

How to reliably check the connection success rate of a proxy IP?

B2Proxy Image September 7.2026
B2Proxy Image

<p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">When choosing a proxy service, the first number that stands out on a spec sheet is usually a connection success rate: 99.9%, 99.95%, or even 99.99%. The closer to 100%, the easier it is to assume "this service is solid." But what a success rate means depends on how it is calculated and over what sample it is calculated. Strip those two factors away and the percentage is just a single line summarizing an entire data pipeline.</span></p><p style="text-align: justify; line-height: 2;"><br></p><h2 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 24px;"><strong>How the Connection Success Rate Is Calculated</strong></span></h2><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">There is no industry-wide standard definition of "connection success rate." Different providers may count completely different stages:</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">· Some count </span><span style="font-size: 16px;">tunnel establishment</span><span style="color: rgb(17, 24, 39); font-size: 16px;"> — whether the proxy server successfully accepts your connection request. This step barely touches the target site, so the success rate is naturally close to 100%.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">· Some count up to the point where </span><span style="font-size: 16px;">the target site returns a response</span><span style="color: rgb(17, 24, 39); font-size: 16px;"> — this already goes beyond the proxy itself and factors in the target site's availability.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">· Some count </span><span style="font-size: 16px;">any response at all</span><span style="color: rgb(17, 24, 39); font-size: 16px;"> as success, even when that response is a 403, a 502, or an error page.</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">Across these three definitions, the same pool of exit resources can produce very different numbers. So when you see "99.95%," you need to confirm two things first: </span><span style="font-size: 16px;">which stage is being measured</span><span style="color: rgb(17, 24, 39); font-size: 16px;">, and </span><span style="font-size: 16px;">whether high-difficulty targets were excluded from the sample</span><span style="color: rgb(17, 24, 39); font-size: 16px;">.</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">The number on a marketing page is usually a long-term average. The problem with an average is that it flattens out the time windows where failures cluster and the regions where resources are tight. An exit pool that performs flawlessly 99% of the time but fails in bulk during a fixed window every day can still show an attractive long-term success rate — and your business may very well be hitting exactly that one-hour window.</span></p><p style="text-align: justify; line-height: 2;"><br></p><h2 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 24px;"><strong>What 99.95% Means in a Real Business</strong></span></h2><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">A percentage only has decision value once you convert it into an absolute number of failures. At a 0.05% failure rate, the failure counts at different task scales look like this:</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">For a team running millions of requests, what does 500 daily failures mean? It means 500 retries, 500 records that need to be re-collected, and several rounds of manual investigation. If the failed requests happen to land on critical fields — price, inventory, or ranking, fields whose absence undermines the value of an entire record — the real impact is far larger than the number "500" itself.</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">Another fact that is often overlooked: </span><span style="font-size: 16px;">the cost of failure is not linear</span><span style="color: rgb(17, 24, 39); font-size: 16px;">. Between a failed connection and a successful retry there is usually backoff waiting, connection re-establishment, and further restrictions the target site imposes on high-frequency retries. Behind those 500 failures there may be overhead far exceeding 500 additional requests.</span></p><p style="text-align: justify; line-height: 2;"><br></p><h2 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 24px;"><strong> Failures Are Not Evenly Distributed</strong></span></h2><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">This is the easiest trap to fall into when treating an average as the truth. A 0.05% failure rate sounds like "one failure every 2,000 requests," but real-world failures do not scatter evenly across the timeline. They typically cluster in:</span></p><p style="text-align: justify; line-height: 2;"><img src="https://www.b2proxy.com/static/ad/dc9dc9d8008e822cf7cb366935c68e11.png" alt="企业微信截图_17887466161623.png" data-href="https://www.b2proxy.com/static/ad/dc9dc9d8008e822cf7cb366935c68e11.png" style=""></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">· </span><span style="font-size: 16px;"><strong>Specific time windows</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: the target site's traffic peaks, early-morning maintenance windows, or periods of network fluctuation in a region.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">· </span><span style="font-size: 16px;"><strong>Specific regions</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: exit resource supply in some areas is tight, and failure rates rise significantly during peak hours.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">· </span><span style="font-size: 16px;"><strong>Specific target sites</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: individual sites are more sensitive to access sources, and failure rates against these sites can be far higher than the average.</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">This produces a seemingly contradictory situation: the overall success rate is 99.95%, but a combination of "a certain region + a certain site + a certain time window" can show an actual failure rate of 5% or even higher. If your business depends heavily on that exact combination, then 99.95% is almost no reference at all.</span></p><p style="text-align: justify; line-height: 2;"><span style="font-size: 16px;">What actually matters for decision-making is not the average but the grouped failure rate</span><span style="color: rgb(17, 24, 39); font-size: 16px;">: the distribution sliced by region, by site, and by hour. This determines how you should design your retry strategy and which tasks need separate configuration.</span></p><p style="text-align: justify; line-height: 2;"><br></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 24px;"><strong>Three types of metrics more important than the success rate</strong></span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">The connection success rate is only an entry-level metric. When judging whether a proxy service is actually usable in your business, the following three metrics tell you far more.</span></p><h3 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 19px;"><strong>1. Failure Distribution</strong></span></h3><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">Do failures scatter randomly, or concentrate in predictable regions and time windows? If they concentrate in a few regions, you can route around them or add redundancy at the scheduling level. If failures are random across the board, the service itself is unstable, and retries may not catch up either.</span></p><h3 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 19px;"><strong>2. Retry Cost</strong></span></h3><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">After a failure, can you quickly succeed by switching to another exit? How much delay and overhead does a retry cost? A service with "a slightly lower success rate but second-level recovery on retry" can be more suitable for production than one with "an extremely high success rate but long periods of unrecoverability once it fails." Retry cost determines how much failures drag down overall throughput.</span></p><h3 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 19px;"><strong>3. Silent Failure Rate</strong></span></h3><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">This is the most easily missed and the most dangerous category. A silent failure is a request that "looks successful" — it returned a 200 and fetched content — but the content is actually an error page, empty data, or a page different from what you expected. These failures are not counted in the connection success rate, yet they carry dirty data downstream, only surfacing when the results turn out wrong.</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">A typical signal of silent failure: the same target with the same parameters yields inconsistent data across multiple collections, or fields are frequently missing. When evaluating, you should deliberately validate against </span><span style="font-size: 16px;">targets with known ground truth</span><span style="color: rgb(17, 24, 39); font-size: 16px;"> rather than relying only on HTTP status codes.</span></p><p style="text-align: justify; line-height: 2;"><br></p><h2 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 24px;"><strong> How to Evaluate Real Usability When Choosing a Proxy</strong></span></h2><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">Based on the analysis above, to evaluate whether a proxy service fits your business, the recommended approach is to run a small-scale task that mirrors your real scenario across a full cycle, rather than relying on vendor data or a short stress test. Concretely, you can do this:</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">1. </span><span style="font-size: 16px;"><strong>Use real tasks instead of idealized scripts</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: a script full of simple, stable targets measures no real pressure. Test against the sites and fields you actually access.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">2. </span><span style="font-size: 16px;"><strong>Cover real regions and sites</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: include the high-frequency, high-value regions and target sites from your business in the sample, rather than random sampling.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">3. </span><span style="font-size: 16px;"><strong>Run a full cycle</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: at least one week, covering weekdays, weekends, and different time windows of the target sites, so that time-based failures surface.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">4. </span><span style="font-size: 16px;"><strong>Record failures by dimension</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: when a failure occurs, record the three dimensions of time, region, and site, and observe whether failures concentrate.</span></p><p style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">5. </span><span style="font-size: 16px;"><strong>Observe retries and silent failures at the same time</strong></span><span style="color: rgb(17, 24, 39); font-size: 16px;">: don't look at the success rate alone; also record retry recovery speed, and validate against ground-truth targets to check for silent failures.</span></p><p style="line-height: 2;"><br></p><h2 style="line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 24px;"><strong>Conclusion</strong></span></h2><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">99.95% is not a wrong number; it only answers a narrow question: at a certain measurement stage and over a certain sample, what proportion of connections succeeded. What a technical decision-maker really needs to answer is a different question: </span><span style="font-size: 16px;">at my task scale and access combinations, where do those failures occur, can they be contained quickly, and will they contaminate the final data?</span></p><p style="text-align: justify; line-height: 2;"><span style="color: rgb(17, 24, 39); font-size: 16px;">Treat the success rate as the starting point for screening, and treat failure distribution, retry cost, and silent failure rate as the basis for judgment — that way your selection won't be led astray by an attractive-looking average.</span></p><p><br></p>

You might also enjoy

Access B2Proxy's Proxy Network

Just 5 minutes to get started with your online activity

View pricing
B2Proxy Image B2Proxy Image
B2Proxy Image B2Proxy Image