웹 스크레이퍼를 사용하려면 Windows 8.1을 조정해야 합니다.
동시 크롤링에 수천 개의 스레드를 사용하고 있습니다.
크롤링 프로세스의 경우 크롤러를 사용하여 직접 작성한 C# HttpWebRequest를 사용하고 있습니다.
그런데 프록시를 사용할 때 문제가 발생합니다.
오류의 원인이 무엇인지 모르지만 설정된 연결 수가 계속 쌓이는 반면 응용 프로그램을 종료하고 네트워크 카드를 비활성화하고 다시 활성화할 때까지 시스템의 아무것도 연결할 수 없습니다.
연결이 예기치 않게 종료되더라도 모든 연결을 적절하게 처리하고 있습니다.
이것이 제가 지금까지 찾은 튜닝입니다. 그런데 제가 할 수 있는 다른 튜닝이 있는지 궁금합니다.
내 컴퓨터는 매우 강력해서 하드웨어 제한이 없습니다.
regedit는 TCPIP를 조정합니다
- TcpTimedWaitDelay를 30초로 설정
- TcpFinWait2Delay : 30초
- 초는 MaxUserPort를 32k로 설정합니다.
- 동적 백로그 활성화 : 1
- 최소 동적백로그: 20
- 최대 동적백로그: 10k
- DynamicBacklogGrowthDelta : 100
- 활성화TCPA : 1
- TcpAck주파수: 1
- TCP지연 없음 : 1
- TcpDelAckTicks : 1
- 로컬우선순위=4
- 호스트우선순위=5
- Dns우선순위=6
- Netbt우선순위=7
cmd 명령:
- netsh int tcp set global autotuninglevel=disabled
- netsh int tcp set global ecncapability=활성화됨
- netsh int tcp set global rss=활성화됨
- netsh int tcp set global chimney=활성화됨
- netsh int tcp 세트 휴리스틱 비활성화됨
- netsh int tcp set global dca=활성화됨
내 현재 설정
내 컴퓨터는 코어 i7 2600k @ 4.5GHz = 8스레드 32GB RAM RAID 0 SSD 디스크를 C 드라이브로 사용합니다.
잠시 후 설정된 연결 수는 결코 줄어들지 않고 계속 증가합니다. 이런 일이 발생하면 인터넷 연결이 끊어집니다.