PingCloud Help Center
Everything you need to understand and get the most out of PingCloud — what each tool measures, how the data is produced, and how to use the API.
On this page
Quick Start
Three minutes, three common tasks. All five tools live on the home page — the links below jump straight to each one.
Pick the best cloud region for your users
- Open the Benchmark leaderboards, choose your user country and a 7- or 30-day window, and note the top regions by median latency.
- Open the Cost & Latency Explorer, select the same country plus the vCPU / memory you need, and compare monthly cost against measured latency on the scatter plot.
- Check the Pareto frontier: points on the frontier have no candidate that is both cheaper and faster. Pick A / B in the table to quantify the trade-off.
- Before committing, run a live Cloud Ping Test from one or two of your user cities to confirm current conditions.
Compare prices for the same spec across clouds
- Open Cloud Pricing, choose Cloud Servers or Cloud Disks, and set the spec filters (vCPU, memory, OS, class).
- Use Exact Match to compare identical specs, or Similar Match to widen the net — differences are always shown per field.
- Adjust monthly hours to your real usage: monthly cost = hourly price × usage hours. Select rows and compare to chart them.
Run a live latency test right now
- Open Cloud Ping Test, pick a source (Global, region, country or city), a vendor and a region — or enter any custom host.
- Choose ICMP Ping or HTTP, set the probe limit, and start. Results stream in live: MIN / AVG / MED / MAX and packet loss, or the full HTTP timing breakdown.
- Want the view from your own machine? Use Cloud Regions & HTTP Ping — it measures browser-to-region HTTP latency directly.
Product Introduction
PingCloud is a public benchmark for multi-cloud network performance. Around the clock, it measures latency from more than 1,000 probe cities in 115 countries to 233 regions across 7 major cloud providers — AWS, Microsoft Azure, Google Cloud, Alibaba Cloud, Tencent Cloud, Huawei Cloud and Oracle Cloud — and publishes the results as daily rankings, live tests and an open API.
Latency alone is half the decision — the other half is cost. PingCloud also collects on-demand prices for cloud servers and cloud disks from official public price lists, and joins them with measured latency so you can compare regions on both axes at once.
Who it is for
- Cloud architects — choose and justify regions for new services with cross-vendor latency and cost evidence.
- Network & SRE engineers — monitor network quality between your users and your regions, and catch regressions early.
- FinOps & platform teams — compare list prices across providers and regions on a like-for-like spec basis.
- Developers & researchers — build on the public API and daily ranking data, free, with attribution.
What makes it different
- Real user networks: measurements run on the Globalping volunteer probe network — real ISP-level paths in 1,000+ cities, not synthetic datacenter-to-datacenter tests.
- Fair by construction: within each test cycle, the same probe measures every vendor's regions with identical parameters — same vantage point, same method.
- Rigorous statistics: 15 ICMP packets per measurement, medians computed from raw samples, sample-count-weighted aggregation, high-loss probes excluded.
- Official prices only: every stored price is traceable to an official public source — never estimated, never sampled.
The Five Tools
All five tools live on the home page. Each answers a different question — pick by the decision you are making.
| Tool | Question it answers | Data origin | Use it when |
|---|---|---|---|
| Cloud Ping Test | What is the latency from a given city to a given cloud region right now? | Globalping probes, live measurement (5 ICMP packets or full HTTP timing) | Verifying a specific route, testing a custom target, quick spot checks |
| Benchmark | Which regions were fastest for a country over the past N days? | Collector measurements: 15 ICMP packets per test, aggregated across cities | Region selection, trend watching, evidence for architecture decisions |
| Cloud Regions & HTTP Ping | What is the HTTP latency from my browser to every region? | Your browser (3 HEAD samples per endpoint, averaged) | Seeing the picture from your own network, comparing with the probe view |
| Cloud Pricing | What does the same spec cost across providers and regions? | Official public price lists (AWS, Azure, GCP, Alibaba, Huawei, Tencent, Oracle) | Cost comparison, budgeting, finding cheaper regions for stateless workloads |
| Cost & Latency Explorer | Which regions are on the cost-latency Pareto frontier for my users? | Probe latency × official prices, joined by region | Final region shortlist, quantified cost/latency trade-offs |
How It Works
From probe to ranking, every number on PingCloud goes through the same pipeline.
1. Scheduling
The collector runs continuous refresh cycles. Each cycle re-tests the pairs that matter most for the rankings — top pairs more often, long-tail pairs less often — and samples up to 10 cities per country per round, probe-weighted at random. Across a multi-day window, successive rounds gradually cover more cities and more networks.
2. Measurement
Each measurement sends 15 ICMP packets from one probe to one cloud region endpoint. Within a cycle, the same probe measures every vendor's regions with identical parameters — this is what makes cross-vendor comparison fair. If a location temporarily has no online probes, the pair is retried and picked up again as soon as probes return.
3. Statistics
Median, average and jitter are computed from the full set of raw per-packet RTT samples — not taken from a pre-computed summary — so a single network hiccup cannot skew a result. Packet loss is the share of the 15 packets that never returned.
4. Aggregation
Per city and region, results are averaged over the window. City averages are then combined into a country-level number weighted by sample count, so a city with 10x more data has 10x the influence. Data from cities whose window packet loss exceeds 50% is excluded as unstable.
5. Rankings
Rankings are generated for 1-, 3-, 7-, 15- and 30-day windows: per country, the top 20 vendor regions by weighted median; per vendor region, the top 20 countries. Files are regenerated daily, and every entry carries its sample count, city count, ASN count and a day-by-day series so you can judge confidence yourself.
6. Pricing
A separate pipeline collects on-demand list prices from each provider's official public price API, normalizes them into one schema (vCPU, memory, architecture, class, USD per hour or per GB-month), and joins them to latency data by the unified region ID — the same region list the ping test uses.
Data & Methodology
Exact definitions of every metric you see, so numbers from different tools never leave you guessing.
Metric definitions
| Tool | Question it answers |
|---|---|
Median Latency median_ms |
The primary ranking metric. Median of per-packet RTT samples within each measurement, then sample-count-weighted across cities. Resistant to outliers and transient spikes. |
Avg Latency avg_ms |
Arithmetic mean over the same samples. Shown as a reference; more sensitive to outliers than the median. |
Loss loss_pct |
Share of the 15 ICMP packets that received no reply, aggregated over the window. |
Cities city_count |
Number of distinct probe cities with usable data for the entry in the window. |
Samples test_count |
Number of individual test results behind the entry — more samples, more confidence. |
ASN Count asn_count |
Number of distinct probe networks (autonomous systems) that measured the entry — a diversity indicator: more ASNs means the result is less dependent on any single ISP. |
Time windows
1-day shows the freshest picture but is noisiest; 30-day is the most stable but reacts slowly to real changes. 7-day is a good default for decisions. Compare 7-day against 30-day — a region that climbs in the short window is worth watching.
Why P95 is N/A
P95 requires the raw per-packet samples of every measurement. PingCloud persists per-measurement summaries (median, average, loss), not the raw timings, so a true P95 cannot be computed — and it is never estimated. The Explorer offers average and p50 (median) only, for the same reason.
Update cadence
The collector runs continuously; ranking files are regenerated once a day, and the leaderboard shows the exact publish time. Prices are re-synced on a rolling schedule; a price older than its provider's staleness threshold is flagged as stale but still shown, with its collection date.
Reading the numbers correctly
- A country entry is an aggregate across cities and networks — it does not promise every ISP in that country sees the same latency. Use the live test to check your specific path.
- Rankings compare network latency only. They do not weigh service maturity, compliance, available instance types or reliability — fold those in yourself.
- List prices are not your prices: negotiated discounts, reserved capacity and savings plans are invisible to a public benchmark. Treat PingCloud prices as a comparable baseline, not a quote.
Global Probe Network
PingCloud's measurements run on the Globalping probe network — thousands of volunteer-operated probes embedded in real home, office and ISP networks across more than 1,000 cities. Because they sit on real user networks, the numbers reflect the paths your users actually traverse, not a datacenter cross-connect.
Current scale: 1,068 active probe cities across 115 countries, roughly 5,300 online probes. The live list is re-synced from Globalping every 3 days; cities whose probes go offline drop out of new measurements and return automatically when their probes come back.
Why ASN diversity matters
Two probes in the same city can sit on networks with wildly different international routing. That is why every ranking entry reports its ASN count, and why per-round city sampling is probe-weighted — the benchmark deliberately spreads measurements across networks so a single ISP's bad day cannot dominate a country's number.
Test quotas
The live Cloud Ping Test uses Globalping's shared rate limits: 100 tests per hour per IP anonymously, 250 per hour when authenticated. The quota display on the page shows your real remaining balance in real time. Collector-side measurements run on a separate, much larger schedule and never compete with your interactive tests.
Pricing Data
One hard rule: every stored price is traceable to an official public source. Each price row carries its source URL, collection time and effective date. If a provider publishes no price for a region, that region shows no price — estimated or sample numbers are never stored.
Sources by provider
| Tool | Question it answers |
|---|---|
| AWS | AWS Bulk Price List API (per-region offer files); cn-* regions from the official AWS China price list |
| Microsoft Azure | Azure Retail Prices API, plus official VM size tables from Microsoft documentation |
| Google Cloud | Cloud Billing Catalog API, plus official machine-types documentation |
| Alibaba Cloud | International price-calculator productInfo API, plus official instance-family docs |
| Huawei Cloud | International price-calculator API, cross-verified against the BSS inquiry API |
| Tencent Cloud | International CVM gateway (DescribeZoneInstanceConfigInfos) with official zone configs |
| Oracle Cloud | OCI Cost Estimator price list API and the estimator's own shape catalog |
Scope and conventions
- Prices are on-demand (pay-as-you-go) list prices, in USD, for Linux unless stated otherwise; Windows license surcharges are collected where published.
- Cloud servers are priced per hour; monthly cost = hourly × usage hours (default 730, adjustable). Cloud disks are priced per GB-month on one unified axis; monthly cost = per-GB-month × capacity (default 100 GB, adjustable).
- Non-USD display currencies use ECB reference rates (via frankfurter.dev); the original USD value is always kept.
- Excluded: network egress, support plans, reserved instances and savings plans, negotiated enterprise discounts. Region coverage mirrors the ping test's region list — the two tools can never drift apart.
Staleness
Each provider has a staleness threshold. Prices older than the threshold are marked stale and shown with their collection date, so you always know exactly how fresh a number is — nothing is silently refreshed or hidden.
Cost & Latency Methodology
The Explorer answers one question: for users in a given country and a given spec, which provider-region candidates are worth shortlisting? It plots monthly cost against measured latency and computes the Pareto frontier.
What is a candidate
One candidate = one (provider, region) pair, represented by its cheapest exactly-matching SKU. Exact match is required because Pareto comparison is only meaningful for the same resource spec — similar matches are not performance-comparable.
The latency axis
Same aggregation as the leaderboards: per-(city, region) window averages, test-count-weighted across cities, high-loss cities excluded. Windows of 24 hours, 7 days or 30 days; metric of average or p50. It is a country-level aggregate, not a single city or ISP result.
Pareto frontier, precisely
Candidate A dominates B if A's cost is less than or equal to B's AND A's latency is less than or equal to B's, with at least one strict inequality. The frontier is the set of candidates no other candidate dominates; a dominated candidate reports which candidate dominates it. Candidates with fewer than 3 samples in the window, or missing price or latency, are excluded from the frontier — never guessed.
Using it well
The frontier is an analysis, not a recommendation: a point on it can still be the wrong choice if the region lacks a service you need, fails a compliance requirement, or has a reliability history you cannot accept. Use the A/B trade-off panel to quantify what you would pay for the latency you save — then decide with the full picture.
API Reference
PingCloud exposes a free public REST API — no key, no registration. All endpoints return JSON; errors use one shape: {"error": {"code", "message"}}. Rate limit: 60 requests per minute per IP; a 429 response carries Retry-After.
Pricing API
| Tool | Question it answers |
|---|---|
GET /api/v1/pricing/meta |
Providers, regions, countries, defaults and current sync status |
GET /api/v1/pricing/skus |
Search SKUs: service, provider, country, spec, match mode, paging |
GET /api/v1/pricing/skus/{id} |
One SKU with native spec, all price versions and source URLs |
GET /api/v1/pricing/compare |
Selected SKUs side by side, monthly cost at given usage |
POST /api/v1/pricing/query |
Structured query body (same filters as /skus) |
GET /api/v1/pricing/sync-status |
Per-provider collection status and staleness |
GET /api/v1/pricing/openapi.json |
Machine-readable OpenAPI schema |
Cost & Latency Explorer API
| Tool | Question it answers |
|---|---|
POST /api/v1/explorer/cost-latency/query |
Candidates for a country + spec, with cost, latency and Pareto status |
POST /api/v1/explorer/cost-latency/pareto |
Pareto frontier for the same filter set |
POST /api/v1/explorer/cost-latency/compare |
Two candidates side by side with their differences |
GET /api/v1/explorer/cost-latency/metadata |
Windows, metrics, currencies and defaults |
Examples
# Cheapest 4 vCPU / 8 GiB Linux instances in Japan
curl "https://pingcloud.io/api/v1/pricing/skus?service_category=compute&vcpu=4&memory_gib=8&operating_system=linux&countries=JP&sort=price_hour&order=asc&page_size=5"
# Cost x latency candidates for users in Germany, 7-day window
curl -X POST "https://pingcloud.io/api/v1/explorer/cost-latency/query" \
-H "Content-Type: application/json" \
-d '{"source_country": "DE", "vcpu": 4, "memory_gib": 8, "window_hours": 168}'
Ranking data files
The leaderboard's source files are public static JSON, refreshed daily: /static/data/rankings/region_ranking_
Glossary
| Tool | Question it answers |
|---|---|
| RTT | Round-trip time — the time for a packet to reach the target and return. |
| Median / p50 | The middle value of sorted samples — half of the samples are faster, half slower. |
| Jitter (mdev) | Mean deviation of RTT samples — how much the round-trip time varies. |
| Packet loss | Share of probes that received no reply. |
| Probe | A measurement node on a real user network that runs the tests. |
| ASN | Autonomous System Number — one routed network, usually one ISP. More probe ASNs means more network diversity. |
| TTFB | Time to first byte — from request start to the first byte of the response. |
| Pareto frontier | The set of candidates not dominated by any other (cost and latency both no worse, at least one strictly better). |
| Dominated | A candidate for which a cheaper-and-faster (or equal) alternative exists. |
| GB-month | Unit for cloud disk pricing: 1 GB of provisioned capacity for one month. |
| On-demand | Pay-as-you-go pricing with no commitment — the comparable baseline across clouds. |
| List price | The publicly published price before any discount. |
| Effective date | The date a price version becomes valid, as published by the provider. |
| Weighted median | City medians combined with sample-count weighting into one country-level number. |
| Window | The aggregation period — 1 to 30 days for rankings; 24 hours, 7 days or 30 days for the Explorer. |
Citation & Data Use
Rankings, measurements and API responses are free to use for research, analysis, engineering and editorial purposes, with attribution. Suggested citation:
PingCloud.io — Multi-cloud region latency benchmark,
retrieved 2026-10-27, https://pingcloud.io
When publishing derived rankings or charts, link to the page or API URL you used and keep the retrieval date — the data refreshes daily. Bulk redistribution of the raw files as a dataset, or commercial use at scale, needs a quick word with us first — so we can keep the service free and fast for everyone.
FAQ
Why do the live test, the leaderboard and my browser show different latencies for the same region?
They measure different things. The live test is a single fresh measurement (5 ICMP packets) from the probes you picked; the leaderboard aggregates thousands of 15-packet measurements across cities over a multi-day window; the browser HTTP ping measures from your own network over HTTP. All three are correct — they answer different questions.
How often is the data updated?
Measurements run continuously around the clock. Ranking files regenerate daily — the leaderboard shows the exact publish time. Prices re-sync on a rolling per-provider schedule; stale prices are flagged, never hidden.
Why is there no data for some countries or cities?
Measurements need online probes. The volunteer network's coverage varies by region; when a location's probes go offline, its data ages out of the window until they return — the recovery queue re-tests such countries automatically. In the live test, try a broader location (country instead of city).
Why does a price differ from what I see in the provider's console?
PingCloud shows on-demand list prices from official public sources. Your console may show discounted rates, a different billing model, another region mapping, or prices updated since our last sync. Every price row links its source and collection date — check those first, and treat differences as a prompt to verify on the provider's own page.
Can I get historical data?
Yes. Every ranking entry embeds a day-by-day series for its window, and the daily leaderboard archive pages keep per-slice snapshots. For deeper history, poll the ranking JSON files daily and keep what you need.
Do I need an API key?
No. Read endpoints are open — 60 requests per minute per IP, no key, no signup. The OpenAPI schema at /api/v1/pricing/openapi.json documents every parameter.
Why is P95 always N/A?
Computing a true P95 needs raw per-packet samples, which are not persisted — only per-measurement summaries are. Rather than estimate, PingCloud reports N/A. See Data & Methodology.
How do I report a data anomaly or request a feature?
Email [email protected] or open an issue on GitHub. Useful reports include the page URL, the entry name, the timestamp and what you expected — that is usually enough for us to reproduce.
Contact & Feedback
Data anomalies, missing regions, API feature requests and partnerships — all welcome.
- Email: [email protected]
- GitHub: github.com/lexcodee/pingcloud.io
