Alle Standorte aktiv · 99.99% Uptime
Proxy-Guide

Was ist das Limit gleichzeitiger Proxy-Verbindungen?

Angaben wie "50K Verbindungen" oder "100 gleichzeitige Threads", die Sie haeufig in Proxy-Paketen sehen, beschreiben genau eines: die Anzahl der TCP-Verbindungen, die Sie gleichzeitig offen halten koennen. Dieses Limit bestimmt unmittelbar, wie schnell Sie arbeiten koennen, und die Fehlermeldungen bei Ueberschreitung sind haeufig irrefuehrend.

In diesem Beitrag behandeln wir, was Concurrency ist, wie der richtige Wert berechnet wird und wie eine Limit-Ueberschreitung diagnostiziert wird.

Concurrency und Anfragerate sind nicht dasselbe

Zwei Begriffe werden staendig verwechselt:

ParallelitaetGLEICHZEITIG OFFENE VERBINDUNGEN
AnfragerateANFRAGEN PRO SEKUNDE
LatenzDAUER EINER ANFRAGE
Rate = Concurrency / LatenzALLE DREI HAENGEN ZUSAMMEN

Die einfache Form des Little'schen Gesetzes: Anfragerate = Concurrency / durchschnittliche Anfragedauer. Haben Sie 20 gleichzeitige Verbindungen und dauert jede Anfrage im Schnitt 500 ms, koennen Sie 40 Anfragen pro Sekunde senden. Steigt die Anfragedauer auf 2 Sekunden, senden Sie bei gleicher Concurrency nur noch 10 Anfragen pro Sekunde.

ABBILDUNGAuswirkung unterschiedlicher Latenzen bei gleicher Concurrency
MESSUNG80250 ms Latenz20 Verbindungen · Anfragen/s40500 ms Latenz20 Verbindungen · Anfragen/s131500 ms Latenz20 Verbindungen · Anfragen/s

Ein langsamer Proxy bremst Ihre Arbeit, ohne die Concurrency zu erhoehen. Deshalb ist die Latenz haeufig ausschlaggebender als das Concurrency-Limit.

Wo wird das Limit durchgesetzt?

Das Concurrency-Limit existiert nicht an einer einzigen Stelle, sondern an mehreren Punkten der Kette zugleich:

ABBILDUNGSchichten, die die Concurrency begrenzen
SCHICHTENIhr ClientProxyAnbieterZielserverThread / asyncAnzahl der TasksBetriebssystemSocket-LimitVerbindungskontingentpro KontoLimit proExit-IPRate Limitpro IPIhre tatsaechliche Obergrenze ist das niedrigste dieser Limits

200 Threads auf Ihrer Seite zu oeffnen nuetzt nichts, wenn der Anbieter auf 50 begrenzt; der Ueberschuss wartet in der Queue oder laeuft auf einen Fehler.

Anzeichen einer Limit-Ueberschreitung

Wenn Sie das Concurrency-Limit ueberschreiten, erhalten Sie keine klare Meldung "Limit ueberschritten". Typische Anzeichen sind:

ABBILDUNGAnzeichen mit Concurrency-Ursache
DIAGNOSECODE / SYMPTOMMOEGLICHE URSACHELOESUNGZunahme von Verbindungs-TimeoutsNeue Verbindungen landen beim Anbieter in der QueueConcurrency schrittweise senken und die Dauer messenZufaellige Verbindungs-ResetsVerbindungen ueber dem Limit werden aktivgeschlossenGroesse des Connection Pools unter dem Limit fixierenPloetzlicher Sprung in der LatenzDie Wartezeit in der Queue wird der Anfrage hinzugerechnetConcurrency verringern; die Geschwindigkeit steigt meist429 Too Many RequestsRate Limit des Zielservers - nicht des ProxysRate pro IP senken, den Pool vergroessernEMFILE / too many openfilesLimit der Dateideskriptoren des BetriebssystemsDen Wert von ulimit -n erhoehen

Entscheidende Unterscheidung: 429 kommt vom Ziel, der Verbindungs-Reset vom Proxy und EMFILE von Ihrer eigenen Maschine. Alle drei erfordern unterschiedliche Loesungen.

Methode zur Ermittlung der richtigen Concurrency

Statt einer theoretischen Berechnung ist ein experimenteller Ansatz verlaesslicher. Fuehren Sie einen stufenweisen Lasttest durch:

01

Niedrig beginnen

Senden Sie 200 Anfragen mit 5 gleichzeitigen Verbindungen. Erfassen Sie die durchschnittliche Dauer und die Erfolgsquote.

02

Verdoppeln

Gehen Sie in Schritten von 10, 20, 40, 80 ... vor. Wiederholen Sie bei jedem Schritt dieselbe Messung.

03

Den Kipppunkt finden

In dem Moment, in dem der Gesamtdurchsatz (Anfragen/s) nicht mehr steigt und die durchschnittliche Dauer zu wachsen beginnt, sind Sie nahe am tatsaechlichen Limit.

04

Bei 70 % arbeiten

Verwenden Sie rund 70 % des Kipppunkts als Produktionswert. Diese Reserve schuetzt vor Schwankungen im Tagesverlauf.

ABBILDUNGDurchsatz und Latenz bei steigender Concurrency
LASTTEST014284155Durchsatz (Anfragen/s)Latenz (x100 ms)510204080160

Die Durchsatzkurve flacht zwischen 40 und 80 ab, waehrend die Latenz hochschnellt. Ab diesem Punkt fuegt eine hoehere Concurrency nur noch Wartezeit hinzu.

Warum ist der Connection Pool (Keep-Alive) wichtig?

Fuer jede Anfrage einen neuen TCP- und TLS-Handshake durchzufuehren, ist sowohl hinsichtlich Latenz als auch Concurrency teuer. Die Wiederverwendung der Verbindung (Keep-Alive) liefert bei gleicher Concurrency einen deutlich hoeheren Durchsatz:

ABBILDUNGPool-Groesse an die Concurrency angleichen
Wiederverwendung von Verbindungen01# Python httpx - Limits explizit definieren02import httpx03limits = httpx.Limits(max_connections=40, max_keepalive_connections=40)04transport = httpx.HTTPTransport(proxy="http://proxy.example.com:8080", retries=1)05client = httpx.Client(limits=limits, transport=transport, timeout=20.0)0607# Node.js undici - Anzahl der Pool-Verbindungen08import { Agent, setGlobalDispatcher } from "undici";09setGlobalDispatcher(new Agent({ connections: 40, keepAliveTimeout: 30_000 }));1011# Linux - Socket-Limit erhoehen12ulimit -n 65535

Die Groesse des Client-Pools darf die vom Anbieter erlaubte Concurrency nicht ueberschreiten. Andernfalls werden ueberzaehlige Verbindungen aufgebaut und sofort geschlossen, und die Kosten des Handshakes sind vergeudet.

Zusammenhang von Concurrency und IP-Anzahl

Die Concurrency zu erhoehen steigert zugleich die Anfragedichte, die aus derselben IP-Adresse stammt. Wendet die Zielseite ein Rate Limit pro IP an, fuehrt eine hoehere Concurrency ueber eine einzige IP unmittelbar zur Sperre. Der richtige Ansatz ist, die Concurrency gemeinsam mit der IP-Anzahl zu skalieren.

Praktische Faustregel

Ueberschreiten Sie pro Ziel und pro IP nicht 1-2 gleichzeitige Verbindungen. Wenn Sie 60 gleichzeitige Anfragen senden moechten, benoetigen Sie mindestens 30-60 verschiedene Exit-IPs. Zur Dimensionierung des Pools unser Beitrag zum Proxy-Pool lesen Sie nach.

Zielfreundliches Rate-Management

Ebenso wichtig wie die Concurrency ist die zeitliche Verteilung der Anfragen. Statt 40 Anfragen gleichzeitig zu senden, wirkt es am Ziel natuerlicher und verhindert einen Rueckstau in der Queue, sie mit kleinen Verzoegerungen zu verteilen.

  • Jitter hinzufuegen: Eine zufaellige Wartezeit zwischen 150 und 350 ms statt konstanter 200 ms verringert die Bot-Spur.
  • Token Bucket verwenden: Ein Token Bucket, der N Anfragen pro Sekunde erzeugt, verhindert ploetzliche Lastspitzen.
  • Backoff einsetzen: Senken Sie die Concurrency schrittweise, wenn Sie 429 erhalten, und erhoehen Sie sie langsam wieder, sobald wieder Erfolge eintreten.
  • Pro Ziel eine eigene Queue fuehren: Die Verlangsamung einer Website soll die anderen nicht beeintraechtigen.

Typische Limits bei verschiedenen Proxy-Arten

Unterschied zwischen Shared und DedicatedTypische ParallelitaetBegrenzender Faktor
DatacenterHoch - mehrere HundertBandbreite und Rate Limit des Ziels
ISPMittel bis hochToleranz des Ziels pro IP
ResidentialMittel - je nach TarifKontokontingent des Anbieters
MobilNiedrigEinzelnes Geraet und Mobilfunkverbindung

Da Mobile Proxys ueber ein einziges physisches Modem ausgehen, bieten sie naturgemaess eine geringe Concurrency; dafuer besitzen sie den hoechsten Trust Score. Fuer Details unser Beitrag zu Mobile Proxys können Sie nachlesen.

Zusammenfassung

Concurrency ist nicht allein, sondern zusammen mit der Latenz ausschlaggebend fuer die Geschwindigkeit. Der Weg zum richtigen Wert fuehrt ueber einen experimentellen Lasttest: Finden Sie den Punkt, an dem der Durchsatz abflacht und die Latenz hochschnellt, und arbeiten Sie bei 70 % davon. Fixieren Sie den Connection Pool auf diesen Wert, skalieren Sie die Concurrency gemeinsam mit der IP-Anzahl und ziehen Sie sich zurueck, sobald ein 429 kommt. Um die Latenz Ihrer vorhandenen Proxys zu messen, Ping-Test und Proxy-Check können Sie unsere Tools nutzen.

Häufig gestellte Fragen

01Was bedeuten 50.000 Verbindungen?

In der Regel ist das die Obergrenze der TCP-Verbindungen, die Ihr Konto gleichzeitig oeffnen kann. In der Praxis sind fuer diese Zahl sehr viele Exit-IPs und hohe Bandbreite noetig; von einer einzigen Maschine aus ist eine solche Verbindungszahl durch die Limits des Betriebssystems begrenzt.

02Warum bin ich langsamer geworden, nachdem ich die Concurrency erhoeht habe?

Wird das Limit ueberschritten, landen neue Verbindungen in der Queue, und die Wartezeit addiert sich zur Dauer jeder Anfrage. Zudem kann die Zielseite mit einem Rate Limit pro IP die Antworten verzoegern. Den Wert zu senken und zu messen erhoeht die Geschwindigkeit in den meisten Faellen.

03Wie viele Threads sollte ich verwenden?

Die Thread-Anzahl darf Ihr Concurrency-Limit nicht ueberschreiten. Wenn Sie einen asynchronen Client einsetzen, ist statt Threads ein Semaphor, der die Anzahl der Tasks begrenzt, effizienter.

04Zahle ich Zusatzkosten, wenn ich mein Concurrency-Kontingent ueberschreite?

Bei den meisten Anbietern nicht; Verbindungen ueber dem Limit werden abgelehnt oder in die Queue gestellt. In manchen Enterprise-Tarifen kann die Ueberschreitung jedoch berechnet werden. Klaeren Sie das im Vertrag geregelte Verhalten vorab.

05Wirkt sich die Nutzung eines Connection Pools auf das Concurrency-Limit aus?

Ja, positiv. Da eine wiederverwendete Verbindung keinen neuen Handshake erfordert, bringen Sie mit demselben Limit mehr Anfragen durch. Legen Sie die Pool-Groesse knapp unter Ihr Limit fest.

Verwandte Beiträge und Seiten

NÄCHSTER SCHRITT

Stärken Sie Ihre Proxy-Infrastruktur noch heute.

Starten Sie mit den kostenpflichtigen Paketen in wenigen Minuten oder testen Sie zuerst unsere kostenlose Proxy-Liste.

FREEPROXY.TR

Wenn Sie einen kostenlosen Proxy suchen, sind Sie hier richtig

Eine umfassende Proxy-Plattform: aktuelle kostenlose Proxy-Adressen ansehen, HTTP- und SOCKS-Proxy-Typen vergleichen und Ihre Proxy-Verbindungen mit kostenlosen Tools prüfen.