У меня есть приложение MVC с API, используемым в нем, работающим на IIS 6.0 (7.0 на рабочих серверах). Для API я использую реализацию IHttpHandler в файле API.ashx.IIS Высокий и неустойчивый TTFB
У меня есть много различных вызовов API, которые были сделаны в моем файле API.ashx, но я расскажу об одном, у которого нет вызовов БД, так что это определенно НЕ проблема с базой данных. В самом начале метода ProcessRequest я добавил Diagnostics.Stopwatch, чтобы отслеживать производительность и останавливать ее на линии последнего метода. Выход моего секундомера всегда стабилен (+ - 2 мс) и показывает в среднем 5 мс (!!!). Но на моем сайте я вижу абсолютно неустойчивое и различное время до первого байта. Он может начинаться с 15 мс и может вырасти до 1 СЕКУНДЫ, и в среднем показывает 300 мс, но в журналах у меня все равно будет стабильный 5 мс от секундомера.
Это происходит на каждом сервере, который я использую, даже локально (так что это не проблема, связанная с сетью) и на производстве. BTW все статические ресурсы загружаются очень быстро (< 10ms)
Может кто-нибудь предложить решение этой проблемы?
Эта статья тоже! https://blog.cloudflare.com/ttfb-time-to-first-byte-considered-meaningles/ – Deano
спасибо за ответ. Я уверен, что это не проблема SQL, потому что для тестов я использую очень простой API, без каких-либо вызовов баз данных и неуправляемых ресурсов. –
@MaxDove, если бы вы могли опубликовать изображение водопадной диаграммы, сделав запрос на ресурс, который поможет погрузиться глубже! – Deano