powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Производительность приложений. Мониторинг и профилирование.
25 сообщений из 55, страница 2 из 3
Производительность приложений. Мониторинг и профилирование.
    #38732530
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже уже разные попробовал:

Visual Studio Profiler

CLR Profiler for .NET Framework 4

CLR Profiler for .NET Framework 4.5

ANTS Memory Profiler 8 от RedGate

dotMemory от JetBrains

.NET Memory Profiling от SciTech

Когда в ANTS Memory Profiler я начинаю сессию через Attach to process и пытаюсь взять Shapshot, то получаю исключение и w3wp процесс естественно убивается

dotMemory от JetBrains и .NET Memory Profiling от SciTech без проблем цепляются к w3wp процессу и снимают Shapshot-ы.
В последнем правда функция "Show real time data" не работает, приходится Snapshot-ы наугад снимать.

Чуть позже расскажу, что я вообще делаю, чтобы было понятно, зачем я вообще всем этим интересуюсь
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38733692
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я юзаю велосипед и не парюсь:) постшарп+самописный логер+azure table storage
Из профайлеров мне нравится больше всего антс.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38733711
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.А я юзаю велосипед и не парюсь:) постшарп+самописный логер+azure table storageИ как Вы используете свой велосипед? Что логируете-то? Всё подряд? :)
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38733713
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Из профайлеров мне нравится больше всего антс.Мне пока dotMemory от JetBrains. Минимум необходимых настроек и работает без глюков, и не тормозит.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734055
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написали аналог StatsD/CollectD/Graphite на .NET. Готовим код к публикации под открытой лицензией.

Умет отслеживать практически любые метрики приложений в реальном времени (число и длительность запросов к WCF-сервисам с разбивкой по методам, входы и регистрации на сайте, принятые и отправленные письма, попадания и промахи кэша, время рендеринга ответа), отслеживать параметры системы (данные из Performance Counter'ов -- нагрузка на ЦП, свободная память, разные важные метрики для SQL Server'а), выполнять аналитические преобразования (например, можно запросто получить медианное время выполнения запросов к БД, агрегированное число регистраций на сайте в блоках по 15 минут, интегралы-производные), хранить историю за много лет назад, аннотировать графики событиями а-ля "Вот в этот момент на xxx-web-01 был выложен чейнджсет 0xbadcode".

Всё это на боевых системах и серверах без сколь-нибудь заметного влияния на производительность.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734075
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучНаписали аналог StatsD/CollectD/Graphite на .NET. Готовим код к публикации под открытой лицензией.

Умет отслеживать практически любые метрики приложений в реальном времениЭто как? Само что-ли в код встраивается? Нахлобучвыполнять аналитические преобразования (например, можно запросто получить медианное время выполнения запросов к БД, агрегированное число регистраций на сайте в блоках по 15 минут, интегралы-производные)А вот это интересно. Я бы конечно R ради этого не против прикрутить, но на это же надо время и настроение
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734091
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЭто как? Само что-ли в код встраивается? Не так круто, конечно. Нужно в ключевых местах расставить вызовы вида xxx.Increment("signup"); xxx.Gauge("cpu_usage") и т.д. Данные передаются по UDP на агрегирующий сервер.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734125
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч,
ссылочку сюда потом закиньте потестить ваше творение. описание впечатляет
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734197
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучskyANAЭто как? Само что-ли в код встраивается? Не так круто, конечно. Нужно в ключевых местах расставить вызовы вида xxx.Increment("signup"); xxx.Gauge("cpu_usage") и т.д. Данные передаются по UDP на агрегирующий сервер.А есть возможность не просто увеличивать счётчики и замерять значение показателя, а только если превышен некий threshold? Ну чтобы не засирать сервер.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734208
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА есть возможность не просто увеличивать счётчики и замерять значение показателя, а только если превышен некий threshold? Ну чтобы не засирать сервер.В этом нет смысла по нескольким причинам. "Засрать" что-то проблематично из-за специфики работы -- если для какой-то метрики отправлен хотя бы один сэмпл, то БД под её (метрики) хранение инициализируется целиком. Потом, если ограничиваться только пороговым значением, то может потеряться полезная информация. Ну и само пороговое значение интереснее выводить в виде горизонтальной линии на графике и опосля с ней играться.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38734221
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучskyANAА есть возможность не просто увеличивать счётчики и замерять значение показателя, а только если превышен некий threshold? Ну чтобы не засирать сервер.В этом нет смысла по нескольким причинам. "Засрать" что-то проблематично из-за специфики работы -- если для какой-то метрики отправлен хотя бы один сэмпл, то БД под её (метрики) хранение инициализируется целиком. Потом, если ограничиваться только пороговым значением, то может потеряться полезная информация. Ну и само пороговое значение интереснее выводить в виде горизонтальной линии на графике и опосля с ней играться.Извините, но есть-ли в этом смысл мы решим сами в нашей конкретной ситуации. Достаточно было сказать нет.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38740350
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот это кто нить смотрел https://github.com/opserver/Opserver ?
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756617
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решили дополнить тему вопросом тестирования WCF - сервисов захощенных на IIS.
Кто как решает подобные задачи? Спасибо.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756688
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gandjustasИ все равно не то, потому что повторной используемости кусков запросов нет.Есть:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
create view V as select A, B from T where .....
go

select A + B C from V where ....
go

select A - B D from V where ....
go
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756689
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сори, ошибся топиком. :-)
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756760
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIРешили дополнить тему вопросом тестирования WCF - сервисов захощенных на IIS.
Кто как решает подобные задачи? Спасибо.Если речь о нагрузочном тестировании, то у нас это происходит так.

Тестировщики разрабатывают набор сценариев. Для каждого из них записывается (record) или пишется ручками тест в Visual Studio.
На базе реализованных таким образом сценариев в студии замешивается (mix) нагрузочный тест.
Указывается количество пользователей (для начала 5), продолжительность нагрузки, различные каунтеры (характеристики производительности) на клиентской машине.

Сервер, где развёрнут WCF сервис, выводится из фермы и все запросы, что генерирует нагрузочный тест, идут на него (в hosts прописывается).

Далее определяемся с характеристиками производительности, что хотим отслеживать на целевом сервере, составляем из них User Defined Set в Performace Monitor (встроен в Windows, perfmon.exe).
Set можно сохранить в виде XML, дать админам, чтобы они распространили его на все сервера фермы. И на тестовые сервера.

Запускаем на клиентской машине нагрузочный тест, на сервере Performance Monitor. Получаем результаты, сохраняем. Увеличиваем количество пользователей на 5-10, снова запускаем тест и т.д.

На основе полученных со всех тестов результатов составляем отчёт, где удобно смотреть зависимость характеристик производительности. Делаем выводы, что-то меняем в инфраструктуре, что-то в конфигурации сервера, что-то в коде.

И по кругу. Пока значения показателей не будут нас удовлетворять.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756765
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда выходит новая версия продукта, то тестировщики повторяют процедуру. Если характеристики производительности не ухудшились, то просто составляют отчёт и сохраняют для истории.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756781
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если набор счёчиков производительности, встроенных в Windows и доступных в Performance Monitor не устраивает, то можно добавить своих счётчиков при помощи класса System.Diagnostics.PerformanceCounterCategory.
И писать в них при помощи класса System.Diagnostics.PerformanceCounter (читать кстати тоже можно, так что не обязательно пользоваться Performance Monitor).

Если не хватает счётчиков производительности, то есть механизм трассировки событий для Windows (Event Tracing for Windows, ETW).
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756782
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКогда выходит новая версия продукта, то тестировщики повторяют процедуру. Если характеристики производительности не ухудшились, то просто составляют отчёт и сохраняют для истории.

По описанию выглядит, как идеальная контора по производству ПО
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38756853
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По перформансу делаю так... Замеряю время отработки каждого метода, если в среднем отклик меньше 200мс - нормально, если больше - начинаю чето думать и оптимизировать. В большинстве случаев у меня WCF сам по себе нихрена не делает, сплошной мапинг на хранимки, поэтому колдовать приходится на уровне скуля. Такой подход фактически гарантирует, что в среднем минимум 50 запросов в секунду ложится в одно ядро проца, что считаю вполне приемлемым результатом. Бывают случаи когда в 200мс метод ну ни как не всунешь, но в общей совокупности таких методов не так много и такие случаи рассматриваю отдельно. Для моих задач такая метода вполне себя оправдывает.
Дальше тоже пишу сценарий, запускаю, вот здесь вываливается самое большое количество багов, фикшу.
И в конце запускаю сценарий в несколько потоков или одновременно с разных виртуалок...
Вот собственно и все мое тестирование.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38757018
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI, студия позволяет замерить отклик и запустить сценарий в несколько потоков, зачем это делать на коленке?

Также IIS в режиме autoConfig="true" может выставить ограничение в 12 рабочих потоков на ядро, запросы начнут вставать в очередь (показатель Request Queued), а ты будешь искать проблему в SQL Server-е.
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38757042
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAстудия позволяет замерить отклик и запустить сценарий в несколько потоков, зачем это делать на коленке?
Слушай, да не такие у меня здесь и примитивные "коленки" Естественно об этом знаю. Трудозатраты основные идут на составление сценирия, а не на его запуск. Хоть из под агента скуля запускай, пофиг.

skyANAТакже IIS в режиме autoConfig="true" может выставить ограничение в 12 рабочих потоков на ядро, запросы начнут вставать в очередь (показатель Request Queued), а ты будешь искать проблему в SQL Server-е.
Если увижу что идет 12 потоков на ядро, я буду искать другой сервер или собирать ферму!
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38757110
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIЕсли увижу что идет 12 потоков на ядро, я буду искать другой сервер или собирать ферму!Не в сервере дело может быть. Я же пишу: "IIS в режиме autoConfig="true" может...".

Вообщем это для справки, чтобы ты вдруг ферму не начал собирать
...
Рейтинг: 0 / 0
Производительность приложений. Мониторинг и профилирование.
    #38757137
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что касается функциональных тестов, то их у нас полностью пишут тестировщики в Visual Studio под Selenium WebDriver.
Запускаются они перед каждым push-ем в репозиторий в Gallio Icarus.

Перед моим отпуском начали внедрять SpecFlow и ещё какие-то тулзы пробовать, но я не помню их название :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Производительность приложений. Мониторинг и профилирование.
    #39702970
Lexus-3141
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAКоллеги, поделитесь следующим опытом наблюдения за живым Environment-ом:
какие показатели производительности (встроенные в Windows или кастомные) мониторите;

на какие из них следует в первую очередь обращать внимание и в каких случаях;

какие средства профилирования используете для сбора информации по ним и как;

какие средства мониторинга используете и как (Perfomance Monitor и/или что-то ещё);

каким образом встроен анализ производительности в цикл разработки вашего ПО.


Озадачен тем же вопросом, имею зоопарк wcf sms сервисов.. Уже умею системные метрики, ETW и PerfView, но всё равно пробелов много.
Может вы поделитесь опытом? За 4-ре года наверное не раз ответили на свои же вопросы.
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Производительность приложений. Мониторинг и профилирование.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]