Я пытаюсь выполнить нагрузочное тестирование сервера Comet-ish с помощью клиента нагрузочного тестирования C #, который создает много запросов HttpWebRequests (1000+).Я обнаружил, что через несколько минут случайным образом серверу требуется много времени для получения некоторых запросов.Клиент думает, что он успешно отправил запрос, но на самом деле на сервер требуется 40 секунд, и в этот момент уже слишком поздно.(Так как это сервер типа Comet, сервер заканчивает тем, что отбрасывал сеанс клиента, что плохо).Я попытался переключиться с асинхронных вызовов на синхронные, но это не имело значения.
Проблема должна быть на стороне клиента.Я провел некоторую трассировку с Wireshark, и оказалось, что запрос на самом деле занимает около 40 секунд, чтобы добраться до сетевого канала из клиентского программного обеспечения!Сервер обслуживает запрос сразу же, когда получает его по своему каналу.
Может быть, C # не работает, потому что запрос выглядит точно так же, как запрос, который я сделал ранее, и кеширует его по какой-то странной причине?Я включаю "Cache-Control: no-cache" в мои ответы, чтобы вообще избежать кэширования.