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

863
MonsterMMORPG

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 Proxys 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 = enabled
  • netsh int tcp set global chimney = enabled
  • netsh int tcp set heuristics deaktiviert
  • netsh int tcp set global dca = aktiviert

meine aktuellen Einstellungen

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

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

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

0
Tausende von Verbindungen zu verwenden, um eine Website zu kratzen, grenzt an Missbrauch. 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 vor 7 Jahren 1
@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 bestehenden Verbindungen beginnt zu stapeln. irgendwelche Ideen? MonsterMMORPG vor 7 Jahren 0
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, nachdem sie geschlossen worden sein sollten. 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 für das, was Sie tun, zu posten. Mokubai vor 7 Jahren 1
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: http://www.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 anfänglich von ESTABLISHED zu FIN_WAIT zu wechseln, ist alles in der Anwendung und nicht in TCP. MaQleod vor 7 Jahren 0
@MaQleod das ist das Problem. Ich befolge alle strengen Regeln für die Handhabung. Überprüfen Sie hier: http://codereview.stackexchange.com/questions/158359/composing-best-web-page-fetcher-function-by-httpclienthandler-for-c. Es ist nicht so, als würde man nach dem Start der Anwendung mit dem Stapeln 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. Die Internetverbindung geht verloren und die Anzahl der etablierten Zähler beginnt zu stapeln MonsterMMORPG vor 7 Jahren 0

0 Antworten auf die Frage