Мне нужно проанализировать неработающие ссылки (например, 404) на веб-портале.Его около 10.000 страниц на портале и много внешних ссылок.Я использую HttpWebRequest в c # для загрузки html страницы, затем нахожу все ссылки в html и добавляю уже проверенные ссылки в проверенную группу, а также очередь непроверенных ссылок для проверки.Я использую многопоточность, но это дает мало преимуществ.1 поток - 50 ссылок в минуту, 5 поток - 70. Я думаю, моя проблема в том, как я получаю HTML-код.Я использую простой HttpWebRequest для получения html:
`
string html;
HttpWebResponse response;
StreamReader respStream;
try
{
HttpWebRequest reques = (HttpWebRequest)WebRequest.Create(link.ToString());
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/15.0";
request.Accept = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.AllowAutoRedirect = true;
response = (HttpWebResponse)request.GetResponse();
respStream = new StreamReader(response.GetResponseStream());
html = respStream.ReadToEnd();
response.Close();
respStream.Close();
}
catch (Exception ex)
{
System.Console.WriteLine("-------------\n" +
"Bad link: " + link + "\n" +
"From: " + link.Parent +
"\n" + ex.Message);
link.ErrorComments = ex.Message;
link.Parent.AddSon(link);
continue;
}
normalLinks.Add(link);
`
Мой интернет - 100 МБ / с.1 страница - 150-200 кб.Мне нужно увеличить скорость в несколько раз.Кто-нибудь знает решение?