У меня возникают проблемы с конечной точкой /connect/introspect моего IdentityServer, иногда очень медленной (10 секунд для одного вызова). Как вы можете видеть ниже, большинство вызовов (18k) выполняются быстро (< 250 мс).
Я включил новый профиль профайла приложений, и большинство медленных трасс выглядит следующим образом:
Как сказано на странице "Статистика профайлов приложений" :
BLOCKED_TIME
указывает, что код ожидает другого ресурса быть доступным, например, ждать объекта синхронизации, ждать для того, чтобы поток был доступен или ожидал завершения запроса.
Но у меня нет причин полагать, что это должно что-то ждать. В запросах нет всплесков, поэтому я не думаю, что доступных потоков нет или что-то еще. Память, по-видимому, не проблема для нашего плана обслуживания приложений, поскольку она всегда составляет около 40%. Я также выкопал источник IdentityServer4, но не смог определить причину этого. Так что теперь я застрял. Может ли кто-нибудь указать мне на возможные причины этих медленных запросов? Или указать мне в правильном направлении, чтобы определить причину? Любая помощь будет высоко оценена!
Изменить с дополнительной информацией: мы используем IdentityServer4.EntityFramework для хранения токенов ссылок в sql azure db. Я просмотрел Application Insights, и запросы в этих медленных запросах выполняются менее чем за 50 мс. Поэтому я предполагаю, что это не база данных.