Wie stelle ich Windows 8.1 auf die maximale Anzahl von TCP-Verbindungen ein?


0

Ich muss mein Windows 8.1 auf einen Web Scraper abstimmen

Ich verwende Tausende von Threads für das gleichzeitige Crawlen

Für den Crawlerprozess verwende ich mein eigenes geschriebenes c # HttpWebRequest mit Crawler

Ich habe jedoch Probleme, wenn ich Proxies verwende

Ich weiß nicht, welche Ursachen Fehler verursachen. Die Anzahl der Verbindungsaufrufe bleibt jedoch stapelbar, während nichts auf dem System eine Verbindung herstellen kann, bis die Anwendung beendet, die Netzwerkkarte deaktiviert und wieder aktiviert wird

Ich verwende jede Verbindung ordnungsgemäß, auch wenn die Verbindung unerwartet beendet wird

Dies sind die Stimmungen, die ich bisher gefunden habe, aber ich frage mich, gibt es noch andere Stimmungen, die ich machen kann?

Mein Computer ist sehr stark, daher habe ich keine Hardwarebeschränkung

Regedit optimiert TCPIP

  • setze TcpTimedWaitDelay auf 30 Sekunden
  • TcpFinWait2Delay: 30 Sekunden
  • Sekunden setzen MaxUserPort auf 32k
  • EnableDynamicBacklog: 1
  • MinimumDynamicBacklog: 20
  • MaximumDynamicBacklog: 10k
  • DynamicBacklogGrowthDelta: 100
  • EnableTCPA: 1
  • TcpAckFrequency: 1
  • TCPNoDelay: 1
  • TcpDelAckTicks: 1
  • LocalPriority = 4
  • HostsPriority = 5
  • DnsPriority = 6
  • NetbtPriority = 7

Cmd-Befehle:

  • netsh int tcp set global autotuninglevel = deaktiviert
  • netsh int tcp set global ecncapability = aktiviert
  • netsh int tcp set global rss = aktiviert
  • netsh int tcp set global chimney = enabled
  • netsh int tcp set heuristics deaktiviert
  • netsh int tcp set global dca = aktiviert

meine aktuellen Einstellungen

enter image description here

Mein Computer ist Core i7 2600k @ 4,5 GHz = 8 Threads 32 GB RAM Raid 0 SSD-Festplatten als Laufwerk C

Nach einer Weile werden die Verbindungszahlen nie verringert und steigen weiter. In diesem Fall geht die Internetverbindung verloren

enter image description here


1
Die Verwendung von Tausenden von Verbindungen, um eine Site zu kratzen, grenzt an missbräuchliche Zwecke. Jeder Website-Inhaber, der sich selbst respektiert, wäre versucht, ein solches Verhalten zu blockieren. Das heißt, die Tatsache, dass Sie die Netzwerkkarte deaktivieren und erneut aktivieren müssen, ist aussagekräftig. Haben Sie eine andere Karte ausprobiert? Haben Sie nach aktualisierten Treibern gesucht?
Mokubai

@Mokubai das Problem ist nicht auf die Site bezogen. Das ist ein anderes Thema, wie Sie erwähnt haben (ich meine, Tausende von Verbindungen zu haben). Ich habe keine andere Netzwerkkarte ausprobiert, weil ich keine habe. Ja, Treiber sind alle aktualisiert. Ein seltsamer Fehler tritt im System auf und die Anzahl der Verbindungsaufrufe beginnt zu stapeln. irgendwelche Ideen?
MonsterMMORPG

1
Trotz allem, was Sie in Ihrer Frage gesagt haben, bin ich versucht zu sagen, dass Sie das TCP nicht richtig entsorgen, und sie bleiben lange Zeit nach ihrem Abschluss stehen. Zerstören Sie einfach Verweise auf die Verbindung in Ihrem Programm oder schließen Sie sie vollständig? Wenn dies wirklich ein Problem in Ihrem Code ist, ist es besser, ein Beispiel zu veröffentlichen, was Sie tun Paketüberfluss .
Mokubai

Wenn ESTABLISHED-Sockel kontinuierlich ansteigen, schließen Sie sie nicht. TCP-Sockets sollten, wenn sie nicht mehr benötigt werden, mit einem bestimmten Prozess geschlossen werden (siehe hier: tcpipguide.com/free/t_TCPConnectionTermination-2.htm ). Es gibt TCP-Einstellungen, die hilfreich sein könnten, wenn sie in Zuständen wie TIME_WAIT verbleiben, aber der Übergang von ESTABLISHED zu FIN_WAIT ist alles in der Anwendung und nicht in TCP.
MaQleod

@MaQleod das ist das Problem. Ich befolge alle strengen Regeln für die Handhabung. überprüfe hier : codereview.stackexchange.com/questions/158359/… . Es ist nicht so, als würde der Stapel nach dem Start der Anwendung beginnen. Die Anwendung läuft wie erwartet für eine Weile einwandfrei. sagen wir manchmal 30 bis 40 Minuten mit hunderttausenden Anfragen. alles richtig gehandhabt. dann passiert irgendwie ein Fehler Fehler. Internet-Konnektivität geht verloren und die Zählung beginnt zu stapeln
MonsterMMORPG
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.