2013-10-04 3 views
0

Мы работаем над веб-приложением, которое широко использует службы WCF Restful. В предстоящий рождественский и новогодний вечер мы ожидаем интенсивного движения, и руководство решило улучшить работу нашего приложения.Как измерить производительность службы WCF?

Но я не уверен, как измерить эффективность каждой службы.

Каковы стандартные методы, подходы и инструменты, используемые для измерения производительности данной службы WCF?

ответ

3

Посмотрите встроенные счетчики производительности

Вы можете позволить им, добавив в конфигурации:

<configuration> 
    <system.serviceModel> 
     <diagnostics performanceCounters="All" /> 
    </system.serviceModel> 
</configuration> 

Перезапустите ваш сервис.

Запустить приложение «perfmon.exe» Монитор производительности, не путать с анализатором производительности Windows.

Выберите Инструменты мониторинга -> Performance Monitor

Нажмите на зеленую кнопку PLUS

Выберите ServiceModelService 4.0.0.0 и найти вам экземпляр.

Выберите экземпляр и нажмите кнопку Добавить

Выберите OK

Теперь у вас есть много информации Avaiable.

0

1) Вы можете использовать расширяемость WCF для перехвата вызова методов WCF.

См: IParameterInspector (Simple profiler)

и

Сообщение инспекторов here и here.

2) Более универсальный подход заключается в использовании «регулярных» промежуточных элементов. Если вы создаете динамический прокси-сервер-перехватчик (я рекомендую использовать для этого castle dynamic proxy или очень мощный impromptu interface) для вашей реализации службы Wcf (или любого класса, который вам нужен для измерения производительности) - вы сможете вручную измерять вызовы методов с секундомерами и результатами журнала как вы хотите, с дополнительной информацией.

Хорошая практика заключается в регистрации (переключении) реализаций бетонных интерфейсов с использованием фреймворков инъекций зависимостей. Некоторые из них поддерживают возможности интеграции WCF (ссылки: Autofac, Windsor, Ninject) и динамический прокси (ссылки: Autofac, Windsor, Ninject).

Смежные вопросы