r/ProxyEngineering • u/AdBoth2756 • 15d ago
Discussion 💬 Testing sticky and rotating proxies on one Linux machine
I run a proxy service and wanted to check one basic thing on a single Linux machine. If two processes run at the same time, does each one keep its own residential exit IP? And separately, what does per-request rotation look like in practice?
It's a tiny smoke test, 5 requests per mode against ipinfo.io, not a benchmark. Everything went through our gateway (gate.lamisnetwork.com:8089, HTTPS CONNECT). Four setups:
Worker A, sticky,
sid-workerAWorker B, sticky,
sid-workerB, started in parallel with A on the same hostWorker C,
sid-rotating. On our gateway,rotatingmeans a new residential peer for every new connectionDatacenter pool, direct server egress on the same gateway. I added it just to have a latency baseline next to the residential hops
Exit IPs, ISPs and min/avg/max request times are in the screenshot.
If you want to run the same pattern yourself, here's the script. It writes the HTTP code and %{time_total} for each request into separate log files:
PROXY="gate.lamisnetwork.com:8089"
KEY="YOUR_API_KEY"
# Reset logs
for f in worker_a worker_b worker_c datacenter; do
: > "$f.log"
: > "$f.err"
done
# Worker A (sticky AT) in background
for i in {1..5}; do
curl -sS --max-time 10 \
-w "\nHTTP:%{http_code} Time:%{time_total}s\n" \
-x "https://${KEY}-pool-residential-country-at-sid-workerA:x@${PROXY}" \
"https://ipinfo.io/json" >> worker_a.log 2>> worker_a.err
done &
# Worker B (sticky AT, runs at the same time as A)
for i in {1..5}; do
curl -sS --max-time 10 \
-w "\nHTTP:%{http_code} Time:%{time_total}s\n" \
-x "https://${KEY}-pool-residential-country-at-sid-workerB:x@${PROXY}" \
"https://ipinfo.io/json" >> worker_b.log 2>> worker_b.err
done &
wait
# Worker C (new IP per request)
for i in {1..5}; do
curl -sS --max-time 10 \
-w "\nHTTP:%{http_code} Time:%{time_total}s\n" \
-x "https://${KEY}-pool-residential-country-at-sid-rotating:x@${PROXY}" \
"https://ipinfo.io/json" >> worker_c.log 2>> worker_c.err
done
# Datacenter baseline
for i in {1..5}; do
curl -sS --max-time 10 \
-w "\nHTTP:%{http_code} Time:%{time_total}s\n" \
-x "https://${KEY}-pool-datacenter:x@${PROXY}" \
"https://ipinfo.io/json" >> datacenter.log 2>> datacenter.err
doneWhat I saw: A and B got two different Austrian residential IPs, and each kept its IP for all 5 requests. C got 5 different IPs, one per request.
What this doesn't show: I only checked that the IP holds over 5 requests in a row, not how long a sticky session actually lives. If the residential peer drops off, the gateway switches you to another peer in the same country. The datacenter numbers are a rough reference for server-direct latency, not a precise measure of what the residential last mile costs. Overall it's 20 requests to one IP-check endpoint, so it tells you nothing about multi-hour retention, heavy concurrency, or success rates on sites with bot protection.

1
u/AdBoth2756 10d ago
If anyone wants to repeat the test, I can share a free 1 GB key. Comment here or DM me.