|
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
|
|
.NET 4.x Понимание результатов профилирования05.03.2015, 18:17. Показов 1346. Ответов 3
Метки нет (Все метки)
Привет!
Есть приложение типа сервер, которое принимает и обрабатывает входящие tcp подключение от клиентов. Периодически возникает проблема, когда приложение съедает почти полностью процессор. Приходится убивать процесс и перезапускать его. Проблема проявляется хаотично. Несколько недель приложение работает без нареканий, а потом за день по несколько раз его клинит. Опять неделю-другую без проблем. Потом снова может климануть. Как отследить в каком месте и какова причина - не знаю. От безысходности попробовал запустить профилировщик в Visual Studio. Съимитировал действия подключения нескольких клиентов сразу друг за другом. Проц поднапрягся. Не полностью, но процентов на 25 на какое-то время он озадачился. Возможно причина нагрузки проца в моем "нагрузочном тесте" и в реальной работе одна и та же. Поэтому я бы хотел разобраться с результатами профилирования, т.к. сам на 100% не уверен в том, что мне говорит студия. После окончания профилирования вот первое, что мне показала студия: Дальше я клацнул на строку, по которой указан "Включающие выборки %" 99,47 и переместился сюда: В 2 словах что это за функция. Когда на сервер от клиента поступает "сигнал", он (сервер) берет клиента и ставит его себе в пул для дальнейшего приема сообщений от него. Собственно, функция ReceiveMessagesFromClient крутится в отдельном потоке, который инициируется из AcceptClientForProcessing, и принимает сообщения. На картинке видно, что 98,8% находится в самом начале функции ReceiveMessagesFromClient, до выполнения её первой строки. Собственно, что это вообще за цифра 98,8%? Название колонки "Включающие выборки" мне лично не много о чем говорит. Но есть предположение, что это процент вызова этой функции по отношению к другим. Так ли это? Если нет, то что это за цифра? Или же я вообще не то и не туда смотрю?
0
|
|
| 05.03.2015, 18:17 | |
|
Ответы с готовыми решениями:
3
Программа для профилирования .NET приложений Посоветуйте инструменты для профилирования и поиску ошибок в динамической памяти
|
|
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
|
|
| 11.03.2015, 16:51 [ТС] | |
|
Тема актуальна.
0
|
|
|
Master of Orion
|
|
| 11.03.2015, 16:58 | |
Сообщение было отмечено Psilon как решение
Решение
V0fka, это значит 98.8% времени процессор проводит за выполнением этой функции. HotPath показывает самый затратный для процессора путь.
0
|
|
|
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
|
|
| 15.03.2015, 21:27 [ТС] | |
|
Psilon, спасибо!
0
|
|
| 15.03.2015, 21:27 | |
|
Помогаю со студенческими работами здесь
4
Понимание С++ Понимание синтаксиса Правильное понимание понимание прцедуры
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|