Назад | Перейти на главную страницу

Оптимизация IIS для обслуживания статического контента через TLS

Я пытаюсь настроить веб-сервер IIS 10 с единственной целью - обслуживать статические файлы.

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

Но все равно он работает очень-очень медленно, если пользователь отправляет одновременные запросы через SSL. Что именно происходит, так это то, что браузер инициирует все запросы одновременно (поскольку это HTTP / 2), но сервер отвечает один за другим. Как будто этот сервер не может обрабатывать эти запросы параллельно, и я не могу понять почему.

Я ищу причину, по которой IIS не начинает отправлять ответы параллельно (например, что происходит, если я использую CDN) и, по-видимому, отправляет их по одному.

Вот пример того, что происходит с IIS:

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

Но когда я тестирую это, запрашивая эти ресурсы у CDN, это работает так:

И все они загружаются за 1 секунду одновременно.

Теперь я знаю, что CDN наверняка должна иметь лучшую производительность, и я не пытаюсь соответствовать этому, но я не могу понять, почему IIS отвечает на один запрос за раз, а не параллельно. Я считаю, что должно быть что-то, что можно сделать, чтобы устранить TTFB и позволить IIS отвечать на несколько запросов одновременно.