Производительность версии HTTP через брандмауэры

У нас есть система, которая делает вызовы веб-службы через прокси. Это закодировано на C# с использованием HttpWebRequest. У нас давно были проблемы со скоростью этих звонков, и я пытался это отследить. Не относящийся к делу разговор привел к тому, что один из парней из отдела эксплуатации упомянул, что порт, который мы просматривали, использовал программное обеспечение брандмауэра, которое имело неоптимальную (читай: глючную) реализацию для портирования вызовов HTTP 1.1. Разумеется, я отказался от веб-запроса на использование HTTP 1.0 вместо 1.1, и скорость мгновенно удвоилась. Мы уже отключили поддержку активности, потому что она была слишком шаткой.

Итак, вопрос: в краткосрочной перспективе есть ли какие-либо переменные, кроме поддержки активности и версии HTTP, которые могли бы еще больше повысить скорость, изменив аспекты вызова HttpWebRequest? Я предполагаю, что трудно сказать, не зная тонкостей программного обеспечения брандмауэра, которого я еще не знаю.

Что еще более важно, у них есть более новая версия программного обеспечения на другом порту, которая, по-видимому, намного лучше и полностью поддерживает HTTP 1.1. Стоит ли ожидать значительного увеличения времени отклика при переходе на HTTP 1.1 и проверки активности?


person Chris    schedule 18.05.2009    source источник


Ответы (1)


На все вопросы, связанные с производительностью, есть один ответ: Измерение.

Догадки всегда ошибочны, когда речь идет о производительности (обычно потому, что производительность плохая, несмотря на дизайн системы, а это означает, что вы думаете, что она не должна быть медленной, но она < em>является).

person Aaron Digulla    schedule 18.05.2009
comment
Ты прав. Я изучаю все тонкости среды и пытаюсь определить, есть ли какие-то очевидные вещи, на которых я мог бы сосредоточиться, прежде чем привлекать другие отделы, но у меня может не быть выбора. Спасибо за ответ! - person Chris; 18.05.2009
comment
Очевидно, что с брандмауэром что-то не так, но это не дает вам понятия, что с этим можно сделать :) Вы должны попробовать несколько вещей (например, настроить сервер на следующей машине разработчика без брандмауэра) и измерить, какой подход помогает насколько. - person Aaron Digulla; 18.05.2009