Network programming c#网络编程-HTTPWebRequest抓取
我正在构建一个web抓取应用程序。它应该能够从单个主机到单个目标web服务器的并发HttpWebRequests中删除复杂的web站点 应用程序应在Windows server 2008上运行 一个HttpWebRequest请求数据可能需要1分钟到4分钟才能完成(因为数据库运行时间很长) 我应该有至少100个到目标web服务器的并行请求,但我注意到,当我使用超过2-3个长时间运行的请求时,我会有很大的性能问题(请求超时/挂起) 在这种情况下,从单个主机到单个目标web服务器可以有多少并发请求?我可以在应用程序中使用线程池来运行到服务器的并行HttpWebRequests吗?默认出站HTTP连接/请求限制是否有问题?当我达到出站连接限制时,请求超时情况如何?对于我的场景,什么是最好的设置 任何帮助都将不胜感激Network programming c#网络编程-HTTPWebRequest抓取,network-programming,httpwebrequest,screen-scraping,html-parsing,Network Programming,Httpwebrequest,Screen Scraping,Html Parsing,我正在构建一个web抓取应用程序。它应该能够从单个主机到单个目标web服务器的并发HttpWebRequests中删除复杂的web站点 应用程序应在Windows server 2008上运行 一个HttpWebRequest请求数据可能需要1分钟到4分钟才能完成(因为数据库运行时间很长) 我应该有至少100个到目标web服务器的并行请求,但我注意到,当我使用超过2-3个长时间运行的请求时,我会有很大的性能问题(请求超时/挂起) 在这种情况下,从单个主机到单个目标web服务器可以有多少并发请求?
谢谢默认情况下,HTTP协议将每个HTTP/1.1服务器的用户代理限制为2个并发连接。这是您达到的限制 通过设置来增加限制
ServicePointManager.DefaultConnectionLimit.
您还可以通过设置
ServicePointManager.GetServicePoint(url).ConnectionLimit