Пытаясь понять производительность веб-сервисов - PullRequest
0 голосов
/ 16 сентября 2008

Я купил скрипт ASP.NET около года назад, чтобы получить значения доставки FedEx. Он создает строку XML, которая передается на сервер FedEx с помощью HttpWebRequest, а затем анализирует необработанный XML. Среднее время отклика для скрипта составляет около 900 миллисекунд.

Итак, на днях я покопался в центре разработчиков FedEx и обнаружил, что они предоставляют несколько примеров кода C # для использования своего веб-сервиса. Я создал небольшой проект, используя их код и файл WSDL, и с удивлением обнаружил, что среднее время ответа составляет около 2,5 секунд.

Может кто-нибудь помочь мне понять разницу в скорости? И есть ли способ сделать это быстрее? У меня нет опыта использования веб-сервисов.

Спасибо.

Ответы [ 2 ]

1 голос
/ 16 сентября 2008

Ну, сценарий ASP.NET может делать что-то отличное от кода C #. Попробуйте захватить каждый необработанный HTTP-запрос и воспроизвести его. Они выполняют то же самое? Если это так, то, скорее всего, различия в клиентском коде. Я предполагаю, что один из них - прямой HTTP-запрос get / post, другой - SOAP через HTTP (s).

Другие вещи на что посмотреть: 1) Вы запускаете производство для ASP.NET и тестовую систему для C #, или они оба работают? 2) Предположим, что оба по HTTPS.

Веб-сервис на основе SOAP обычно немного более «тяжелый», особенно если ваш запрос завершается выполнением WS- *, подписыванием и т. Д. Вам нужно подписать свой запрос C #, предоставив keys / x.509 или другие полномочия?

Есть много способов, которыми это обсуждение может пойти, в зависимости от ответов на некоторые из основ выше.

1 голос
/ 16 сентября 2008

Веб-службы имеют некоторые накладные расходы в отношении вызовов XML поверх HTTP из-за проверки и того, что называется «конвертом SOAP», что добавляет дополнительную детализацию.

Тем не менее, я не думаю, что большее время отклика связано с этим. Вы пробовали запустить версию XML через HTTP сегодня, чтобы получить разумное сравнение? Возможно, сайт просто занят.

Еще одним объяснением может быть плохое кодирование. Вы никогда не знаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...