Я написал эталонное консольное приложение, которое делает многопоточный WebRequest для httphandler на локальном компьютере, где httphandler возвращает html. Странно то, что если я увеличу итерации эталонного теста, истекшее время будет разумным, но если я увеличусодержание html на 2 строки больше, тогда истекшее время будет длинным и не логичным, например, если я сделаю 5000 запросов с определенным размером содержимого html, то пройдет 2,5 секунды, когда я увеличу количество итераций до 10000, тогдаистекшее время будет 5 секунд, что логично, но когда я увеличу содержание html еще на пару строк с 5000 запросами, истекшее время будет 1,5 МИНУТЫ !!!!
интересно, в чем причина?это связано с ограничением памяти?я проверил настройки IIS7, где все значения установлены на неограниченный объем памяти, я использую .Net v4.0 с интегрированным режимом, любая идея?
Вот как работает мой код:
- httphandler вызывает определенный класс в зависимости от параметров запроса.
- класс генерирует xml в MemoryStream.
- класс выполняет преобразование через XslCompiledTransform.
результаты преобразования будут записаны непосредственно в поток вывода ответов следующим образом:
transformObject.Transform (новый XPathDocument (xmlMemoryStreamData), новый XsltArgumentList (), Response.OutputStream)
я надеюсьВыше может помочь.