我正在使用httpwebrequest类下载页面的标题信息以查看页面是否存在。所以我将方法设置为使用多个线程。 但是我每30秒只能获得1,000个请求。
我已经完成了所有可能的优化。 我将代理设置为null以避免检查,并且超时在20000ms时效果最佳。
System.Net.ServicePointManager.DefaultConnectionLimit也增加到了使用的线程数量(即50)。
我需要检查的是,如果页面存在(404或不存在),我还能做些什么来提高速度吗?
我使用的另一种选择是webclient,但我无法将其设置为仅限于头部。
这是我现在使用的
HttpWebRequest req;
HttpWebResponse response;
bool ret;
req = WebRequest.Create("http://" + url) as HttpWebRequest;
req.Method = "HEAD";
req.Timeout = timeout;
req.Proxy = null;
response = req.GetResponse() as HttpWebResponse;
ret = (response.StatusCode == HttpStatusCode.OK);