IIS Высокая загрузка ЦП на виртуальной машине Azure с низким входящим потоком
Мой сервер IIS, работающий на виртуальной машине Azure, иногда испытывает высокую загрузку процессора. Это происходит только по четвергам, пятницам и субботам с 11:00 до 14:00. Загрузка ЦП составляет 100%, и на виртуальной машине ничего сделать невозможно. Я могу только принудительно выключить. Даже принудительное отключение занимает более 15 минут, чтобы остановить виртуальную машину в этом состоянии. Я не могу воспроизвести проблему.
У меня есть более 300 приложений на моем IIS 10 в Windows 2022 DataCenter. Входящие звонки довольно низкие. Получаю максимум 20-30 запросов в секунду. Оперативной памяти у меня более чем достаточно. Ежедневное использование не превышает 60% моей оперативной памяти. Ежедневное использование процессора не превышает 30%. Обратите внимание, что на той же виртуальной машине у меня также есть сервер MSSQL. Когда происходит высокая загрузка процессора, я ясно вижу, что это ошибка IIS. Когда я его останавливаю, все работает нормально. У меня были случаи, когда я перезапускал виртуальную машину один или два раза, и по какой-то причине все снова работало нормально. Я заметил, что в день высокой загрузки процессора, даже если сервер используют только 2-3 клиента, я вижу, что перемещение мыши или окон в виртуальной машине через RDP происходит медленно. В обычный день работает довольно быстро. Может быть, это какой-то намек, связанный с сетью?
Что я пытался исправить до сих пор:
- Оптимизация кода — я не обнаружил утечек памяти или недостатков с помощью инструментов профилирования.
- Отключите брандмауэр и антивирус - это мало что дало.
- Купите больше оперативной памяти и больше процессора - все равно не поможет.
- Ограничьте приложения IIS только тремя приложениями, переименовав папку других приложений IIS, которые я хочу заблокировать, чтобы мои клиенты не имели доступа к приложению - это каким-то образом помогло снизить загрузку процессора примерно на 30-40%, но виртуальная машина, к которой я получил доступ через RDP, все равно работала. медленный. Под медленным я подразумеваю, что перемещение мыши было медленным, а перемещение окон было вялым.
- Отслеживайте высокую загрузку ЦП с помощью аналитики приложений Azure и новой реликвии — они оба не помогают показать отсутствие высокой загрузки ЦП. Хотя отследили, что были простои при неисправности.
- Обратитесь за помощью в службу поддержки Azure — они провели диагностику и, по их словам, все работает нормально, проблем не обнаружено.
- Купить диски получше и побыстрее - не помогает.
Могу ли я сделать что-нибудь еще, чтобы отследить, в чем заключается реальная проблема с высокой загрузкой процессора?