Какова производительность при использовании счетчиков производительности WCF (performanceCounters = ALL)?

Есть ли у кого-нибудь опыт использования счетчиков производительности WCF в производственной системе и проблемы с производительностью? Я подозреваю, что если вы отслеживаете все службы, конечные точки и операции и записываете все счетчики в файл, производя выборку каждую секунду, то это наихудший сценарий. Из того, что я понял, хит происходит, когда вы действительно сэмплируете, а не когда включены счетчики. Есть ли реальный опыт их использования в продакшене?


person Dylan    schedule 05.05.2010    source источник


Ответы (1)


Я не могу подробно ответить за WCF, но счетчики производительности в целом работают, постоянно записывая значения в какую-то общую память. Таким образом, WCF всегда записывает значения в файл с отображением памяти или общий раздел в dll.

Когда приложение perfmon хочет отобразить их, оно загружает разделяемую память и читает из нее. Это не особый удар по производительности.

Проблема возникает, когда вы хотите что-то сделать с данными счетчика, например записать их в файл или обновить график. Вот когда производительность начинает быть заметной. Это удваивается, если считыватель работает по сети.

person gbjbaanb    schedule 05.05.2010