> ## Documentation Index
> Fetch the complete documentation index at: https://developers.flameproxies.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Proxy Speed & Latency

> What affects proxy latency, what to expect from each proxy type, and how to measure and improve performance in your setup.

Every proxied request takes a longer path than a direct one. This page explains where the time goes, what you can expect from each proxy type, and how to make your setup faster.

## What latency means in a proxy setup

A proxied request makes several hops:

1. Your client connects to the FlameProxies gateway.
2. The gateway forwards the request to a residential IP.
3. That IP connects to the target website.
4. The response travels back the same way.

Each hop adds time. The biggest variable is usually step 3: residential IPs are real home connections, and their speed and distance from the target vary.

## What to expect by proxy type

| Proxy type | Speed |
| - | - |
| Residential | Depends on the home connection behind each IP. Use fast mode to route through the lowest-latency peer. |
| Premium residential | Same gateway and modes as residential, drawn from a curated pool of clean IPs. |
| Static residential (ISP) | The fastest option: dedicated IPs on enterprise hardware, with port speeds up to 10 Gbps. |

## What affects latency in practice

* **Distance.** The further the exit IP is from the target's servers, the longer each round trip takes. A request exiting in Brazil to a server in Germany will be slower than one exiting in Germany.
* **Targeting precision.** Narrow targeting, like a small city, leaves fewer IPs to choose from, and the gateway can't always pick a fast one.
* **New connections.** Every new connection needs a TCP and TLS handshake through the proxy. Rotating on every request means paying that cost every time.
* **Page weight.** Large pages with images, video, and scripts take longer to transfer and use more bandwidth.
* **The target.** A slow or rate-limiting website is slow through any proxy.

## How to reduce latency

* **Turn on fast mode.** Add `mode-fast` to route through the peer with the lowest latency available. Fast mode doesn't cost extra bandwidth.

  ```text theme={null}
  <USERNAME>-package-standard-country-us-mode-fast
  ```

* **Try each pool.** Sub-pools have different performance characteristics. Compare `pool-1` and `pool-2` against your target.

* **Exit near the target.** When location doesn't matter for your data, target the country where the website's servers are.

* **Reuse connections for multi-step work.** For flows that make several requests, use a sticky session and let your client keep the connection open, so you only pay the handshake once.

* **Load less.** In headless browsers, block images, fonts, and media you don't need.

* **Use static IPs for throughput.** For large transfers to a fixed set of targets, [static residential proxies](/proxies/static-residential) are much faster and have unlimited bandwidth.

## How to measure

Use curl's timing output to see where the time goes:

```bash theme={null}
curl -x proxy.flameproxies.com:8989 -U "USERNAME-package-standard-country-us:PASSWORD" \
  -o /dev/null -s \
  -w "connect: %{time_connect}s  tls: %{time_appconnect}s  first byte: %{time_starttransfer}s  total: %{time_total}s\n" \
  https://ipinfo.io/json
```

* `connect` is the time to reach the gateway.
* `tls` is when the TLS handshake with the target finished, through the proxy.
* `first byte` is when the target started responding.
* `total` is the whole request.

Run it several times — and with and without `mode-fast` — to compare. A single request tells you little, because each rotating request uses a different IP.

## Next steps

<CardGroup cols={2}>
  <Card title="Residential proxies" icon="house-signal" href="/proxies/residential">
    Pools, modes, and every parameter.
  </Card>

  <Card title="Static residential proxies" icon="server" href="/proxies/static-residential">
    Dedicated IPs with up to 10 Gbps port speed.
  </Card>
</CardGroup>
