Zurück zum Blog

Wie man die Ursachen niedriger Erfolgsquoten diagnostiziert

Die Proxy-Erfolgsrate ist eine kritische Metrik für jedes Projekt. Lassen Sie uns herausfinden, wie man die Ursache des Rückgangs identifiziert und die Effizienz wiederherstellt.

📅3. Dezember 2025

So diagnostizieren Sie die Ursache einer niedrigen Success Rate: Schritt-für-Schritt-Anleitung

Success Rate ist der Prozentsatz erfolgreicher Anfragen von der Gesamtzahl der Versuche. Wenn dieser Indikator unter die Norm fällt, gehen Geld, Zeit und Daten verloren. Es kann aber Dutzende von Gründen geben: von falscher Konfiguration bis zu Blockierungen des Zielservers. In diesem Artikel werden wir einen systematischen Ansatz zur Diagnose durchgehen und eine Lösung finden.

Was ist Success Rate und welche Norm

Success Rate (SR) = (Erfolgreiche Anfragen / Gesamtzahl der Anfragen) × 100%

Normale Werte hängen vom Aufgabentyp ab:

Aufgabe Normaler SR Kritisches Niveau
Parsing öffentlicher Daten 95–99% unter 85%
SMM-Automatisierung 90–97% unter 80%
Ad Verification 98–99,5% unter 95%
API-Integration 99–99,9% unter 98%

Wenn die SR um 5–10% von Ihrer Baseline fällt – das ist ein Signal zur Diagnose. Wenn sie um 20%+ fällt – sofortige Maßnahmen sind erforderlich.

Erste Schritte der Diagnose

Schritt 1: Überprüfen Sie Protokolle und Metriken

Sammeln Sie Daten aus den letzten 24–72 Stunden:

  • Wann genau ist die SR gefallen? (genaue Zeit)
  • Welcher Prozentsatz der Anfragen gibt Fehler 407 (Proxy Authentication Required) zurück?
  • Welcher Prozentsatz – 429 (Too Many Requests)?
  • Welcher Prozentsatz – Timeouts (Connection Timeout)?
  • Hat sich die Last geändert (RPS – Anfragen pro Sekunde)?

Schritt 2: Testen Sie isoliert

Verwenden Sie ein einfaches Skript, um den Proxy ohne Ihre Anwendung zu überprüfen:

import requests
import time

proxy = "http://proxy_ip:port"
proxies = {"http": proxy, "https": proxy}
target_url = "https://httpbin.org/ip"

success = 0
failed = 0

for i in range(100):
    try:
        response = requests.get(
            target_url, 
            proxies=proxies, 
            timeout=10,
            verify=False
        )
        if response.status_code == 200:
            success += 1
            print(f"✓ Versuch {i+1}: erfolgreich")
        else:
            failed += 1
            print(f"✗ Versuch {i+1}: Status {response.status_code}")
    except Exception as e:
        failed += 1
        print(f"✗ Versuch {i+1}: {str(e)}")
    time.sleep(0.5)

sr = (success / (success + failed)) * 100
print(f"\nSuccess Rate: {sr:.1f}%")
print(f"Erfolgreich: {success}, Fehler: {failed}")

Wenn dieser Test eine normale SR zeigt – liegt das Problem in Ihrem Code oder Ihrer Konfiguration. Wenn die SR auch hier niedrig ist – liegt das Problem beim Proxy oder beim Zielserver.

Probleme auf der Proxy-Seite

Fehler 407: Proxy Authentication Required

Ursachen:

  • Falsche Anmeldedaten (Benutzername/Passwort)
  • Kontoablauf abgelaufen
  • IP-Adresse nicht in der Whitelist (falls erforderlich)
  • IP-Rotation funktioniert nicht oder ist deaktiviert

Lösung:

import requests

# Korrektes Format für Residential Proxys
proxy = "http://login:password@proxy-host:port"
proxies = {"http": proxy, "https": proxy}

# Test
response = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10)
print(response.text)

Überlastung des Proxy-Servers

Wenn alle Benutzer des Dienstes eine große Anzahl von Anfragen gleichzeitig senden, kann es eine Beschränkung pro RPS (Anfragen pro Sekunde) geben. Das ist selten, aber es passiert.

Überprüfen Sie:

  • Ihre aktuelle RPS in der Spitzenlast
  • Limits Ihres Tarifs
  • Gibt es Fehler 429 in den Protokollen

Lösung: Fügen Sie eine Verzögerung zwischen Anfragen hinzu oder aktualisieren Sie Ihren Tarif.

Qualität der IP-Adressen

Für Residential Proxys kann eine niedrige SR bedeuten, dass Ihnen blockierte Adressen rotiert werden. Überprüfen Sie:

  • Welcher Prozentsatz der IP-Adressen gibt 403 Forbidden zurück?
  • Wiederholen sich die gleichen Adressen?
  • Gibt es ein Muster – ein Land/eine Region funktioniert, eine andere nicht?

Blockierungen und Filter des Zielservers

Fehler 429: Too Many Requests

Der Zielserver sieht zu viele Anfragen von einer IP oder insgesamt. Lösungen:

  • Verzögerung hinzufügen: `time.sleep(random.uniform(1, 3))`
  • IP-Rotation verwenden: jede Anfrage – neue IP
  • RPS senken: Anfragen sequenziell senden, nicht parallel
  • Realistische Header hinzufügen: User-Agent, Referer, Accept-Language

Fehler 403 Forbidden

Der Server hat Ihre IP (oder die Proxy-IP) blockiert. Dies kann sein:

  • Geolokationsfilter
  • Blacklist von Proxy-Diensten
  • Bot-Detektor (JavaScript, CAPTCHA)

Lösung: Verwenden Sie Mobile Proxys oder Residential Proxys mit Rotation. Sie sind schwerer zu blockieren.

Fehler 403: User-Agent-Überprüfung

Einige Dienste lehnen Anfragen mit verdächtigem User-Agent ab:

import requests
import random

user_agents = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15"
]

headers = {
    "User-Agent": random.choice(user_agents),
    "Accept-Language": "en-US,en;q=0.9",
    "Accept": "text/html,application/xhtml+xml",
    "Referer": "https://google.com"
}

response = requests.get(
    "https://target-site.com",
    headers=headers,
    proxies={"http": proxy, "https": proxy},
    timeout=10
)
print(response.status_code)

Fehler im Client-Code

Falsche Fehlerbehandlung

Häufiger Fehler: Der Code behandelt einen Verbindungsfehler als fehlgeschlagene Anfrage, versucht aber nicht, sich erneut zu verbinden:

import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

# Korrekter Weg mit Wiederholungen
session = requests.Session()
retry_strategy = Retry(
    total=3,
    backoff_factor=1,
    status_forcelist=[429, 500, 502, 503, 504],
    allowed_methods=["GET", "POST"]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("http://", adapter)
session.mount("https://", adapter)

try:
    response = session.get(url, proxies=proxies, timeout=10)
except requests.exceptions.RequestException as e:
    print(f"Fehler: {e}")
    # Protokollieren und zur nächsten Anfrage übergehen

Falsche Timeouts

Wenn das Timeout zu kurz ist (1–2 Sekunden), werden langsame Proxys abgelehnt:

  • Für normales Parsing: 10–30 Sekunden
  • Für Mobile Proxys: 15–45 Sekunden
  • Für API: 5–10 Sekunden

SSL/TLS-Fehler

Wenn Sie `verify=False` verwenden, kann dies echte Probleme maskieren. Es ist besser, Zertifikate zu aktualisieren:

import requests
import certifi

# Korrekt
response = requests.get(
    url,
    proxies=proxies,
    verify=certifi.where(),  # Statt verify=False
    timeout=15
)

Netzwerkprobleme und Timeouts

Connection Timeout vs Read Timeout

Der Unterschied ist wichtig:

  • Connection Timeout: Proxy antwortet nicht (Problem mit Proxy oder Netzwerk)
  • Read Timeout: Zielserver sendet Daten langsam (Problem des Zielservers)
import requests

# timeout = (connection_timeout, read_timeout)
try:
    response = requests.get(
        url,
        proxies=proxies,
        timeout=(5, 15)  # 5 Sek. zum Verbinden, 15 zum Lesen
    )
except requests.exceptions.ConnectTimeout:
    print("Proxy antwortet nicht")
except requests.exceptions.ReadTimeout:
    print("Zielserver ist langsam")

DNS-Probleme

Wenn der Zielserver nicht aufgelöst wird, ist dies kein Proxy-Fehler:

import socket

# DNS außerhalb des Proxys überprüfen
try:
    ip = socket.gethostbyname("target-site.com")
    print(f"Aufgelöst: {ip}")
except socket.gaierror:
    print("DNS-Fehler – Website nicht gefunden")

Checkliste zur Diagnose niedriger SR

  1. Legen Sie eine Baseline fest: Welche SR war früher normal?
  2. Führen Sie einen isolierten Test aus (Skript oben) mit 100 Anfragen
  3. Überprüfen Sie die Protokolle: Welche HTTP-Codes dominieren? (407, 429, 403, Timeouts?)
  4. Wenn 407: Überprüfen Sie Benutzername/Passwort und IP-Whitelist
  5. Wenn 429: Fügen Sie eine Verzögerung zwischen Anfragen hinzu, verwenden Sie IP-Rotation
  6. Wenn 403: Überprüfen Sie User-Agent, Referer, fügen Sie realistische Header hinzu
  7. Wenn Timeouts: Erhöhen Sie das Timeout, überprüfen Sie RPS, verwenden Sie Retry-Logik
  8. Überprüfen Sie Ihren Code: Richtige Fehlerbehandlung, richtige Timeouts
  9. Überprüfen Sie den Zielserver: Ist er direkt verfügbar (ohne Proxy)?
  10. Wenn alles andere nicht hilft: Versuchen Sie einen anderen Proxy-Typ oder einen anderen Anbieter

Schnelle Diagnose-Tabelle

HTTP-Code Wahrscheinliche Ursache Lösung
407 Falsche Proxy-Anmeldedaten Überprüfen Sie Benutzername/Passwort, IP-Whitelist
429 Zu viele Anfragen Fügen Sie eine Verzögerung hinzu, verwenden Sie IP-Rotation
403 IP blockiert oder Bot-Detektor Fügen Sie realistische Header hinzu, verwenden Sie Mobile Proxys
Timeout Proxy ist langsam oder Zielserver überlastet Erhöhen Sie das Timeout, überprüfen Sie RPS
Connection refused Proxy-Server nicht erreichbar Überprüfen Sie IP:Port, Proxy-Status

Zusammenfassung

Eine niedrige Success Rate ist ein Symptom, keine Krankheit. Es kann viele Ursachen geben: von einem Tippfehler im Code bis zur Blockierung durch den Zielserver. Systematische Diagnose ist der Schlüssel zur Lösung:

  1. Überprüfen Sie Metriken und Protokolle
  2. Isolieren Sie das Problem (Proxy vs. Zielserver vs. Ihr Code)
  3. Bestimmen Sie den Fehlertyp (407, 429, 403, Timeout)
  4. Wenden Sie die entsprechende Lösung an

Für Aufgaben, die Zuverlässigkeit und hohe SR erfordern, werden Residential Proxys mit IP-Rotation empfohlen. Sie sind schwerer zu erkennen und stabiler. Versuchen Sie einen kostenlosen Test auf proxycove.com und testen Sie ihn auf Ihre Aufgabe.