Моя веб-служба ASMX через HTTPS работает очень медленно. Как это оптимизировать? - PullRequest
0 голосов
/ 31 марта 2011

У меня есть веб-сервис ASMX, который я обслуживаю по HTTPS. После некоторого тестирования я пришел к выводу, что веб-служба будет невыносимо медленной в реальном сценарии.

Я понимаю, что затраты на использование HTTPS неизбежны, но я хотел бы знать, как я могу оптимизировать этот веб-сервис. Первое, что я заметил, это то, что большую часть времени моя веб-служба возвращает списки вещей, например (не взятые из реальной веб-службы):

<Cars count="2">
  <Car brand="Mercedes" registrationplate="612M0D0"/>
  <Car brand="BMW" registrationplate="4RS-73CHN1C4"/>
</Cars>

(Обычные реальные значения count составляют около 40-50.)

Таким образом, как имя типа элемента (в этом примере Car), так и имена его атрибутов (в этом примере brand и registrationplate) повторяются слишком много раз. Все это предполагает сжатие ответа SOAP перед его отправкой. Но я не знаю, как это сделать. Кто-нибудь знает?

1 Ответ

1 голос
/ 31 марта 2011

Вы определили, что медленно ?

  • Объем данных
  • Количество запросов
  • Время, потраченное на доступ к хранилищу данных
  • Время между запросом и ответом

и т. Д.

Первым шагом в оптимизации является получение метрик , а затем, когда они у вас есть, атакуют те, которые имеют значение.Например, вызов функции может составлять 1 мс, но если вы вызываете ее 2000 раз, задержка может составлять 2 с.Так что в этом случае атакующее количество звонков может быть в порядке.

Я предлагаю использовать такой инструмент, как DotTrace , чтобы дать вам индикаторы.

Редактировать См. Этот вопрос так: производительность HTTP против HTTPS

...