Azure asp.net core 2.2 получает высокую загрузку процессора - PullRequest
0 голосов
/ 19 июня 2019

Таким образом, я сталкиваюсь с ситуацией, когда мой проект, развернутый в облаке Azure, в большинстве случаев получает высокую загрузку ЦП, большую часть которой он составляет 100%, но после перезапуска приложения загрузка ЦП в течение нескольких часов достигает 10-15%. Я попытался использовать профилировщик Kudu, но это не помогло, в большинстве случаев он показывает, что некоторые методы используют 40% ЦП, когда общее использование ЦП составляет 100%, но они составляют 2-3%, когда использование ЦП является низким. Что странно, я заметил, что некоторые методы контроллера API, если они не получают правильный запрос, BODY выдает ошибку CGI / 502, даже если это должно вызывать исключение ссылки Null, потому что метод получает неправильное тело, тем интереснее - возвращать CGI Исключение занимает около 2 минут вместо 2 секунд, как обычно на моем веб-сервисе на локальном компьютере. Я перешел с S1 на план S2, то же самое, хотя и работает немного быстрее, но глубокие познания лазера показывают то же использование процессора на 90-10%.

1 Ответ

0 голосов
/ 25 июня 2019

Прежде всего, я бы посоветовал вам написать код для получения аварийного дампа вашего сервера, вы можете обратиться к ссылке для настройки.

Что-то вроде ниже поможет вамчтобы написать его в powershell.

$dumpFolder = "C:\crash-dumps"

if (!(Test-Path $dumpFolder)) {
    mkdir $dumpFolder | Out-Null
}

$dumpKey = "HKLM:SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps"

if (!(Test-Path $dumpKey)) {
    New-Item -Path $dumpKey | Out-Null
}

$dumpKey = "HKLM:SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\dotnet.exe"
New-Item -Path $dumpKey -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpFolder -Value $dumpFolder -PropertyType String -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpCount -Value 3 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpType -Value 2 -PropertyType DWORD -Force | Out-Null

$dumpKey = "HKLM:SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"

New-Item -Path $dumpKey -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpFolder -Value $dumpFolder -PropertyType String -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpCount -Value 3 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpType -Value 2 -PropertyType DWORD -Force | Out-Null

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

Для аналогичной проблемы вы можете отследить этот запрос .Также попробуйте понизить ваше приложение до версии 2.0.0 и посмотреть, не вызывает ли оно скачков ЦП.Если да, тогда мы должны посмотреть на ваш код, как указано в комментариях.

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