优化IIS以通过TLS提供静态内容

我试图微调IIS 10 Web服务器的唯一目的是提供静态文件。

我禁用了会话状态,禁用了托管代码,添加了所有必需的公共缓存控制标头,并且没有过期。

但是,如果用户通过SSL发送同时请求,它的执行速度仍然非常慢。实际发生的是,浏览器一次发起所有请求(因为它是HTTP / 2),而服务器却一次又一次地响应。就像服务器无法并行处理那些请求一样,我不明白为什么。

我要寻找的是IIS无法开始并行发送响应的原因(就像我使用CDN时会发生的情况一样),并且显然一次发送一次。

这是IIS发生的意外事件:

Multiple resources requests with IIS

如您所见,等待时间彼此叠加,直到最后一个请求花了47s的时间才能完成。

Last request wait time

但是,当我通过从CDN请求这些资源进行测试时,它的工作方式如下:

Loading resources from CDN

并且所有这些都将在1秒内同时下载。

现在,我知道CDN肯定应该具有更好的性能,而我没有尝试匹配它,但是我不明白为什么IIS一次响应一个响应,而不是并行响应。我认为应该采取一些措施来消除TTFB,并使IIS能够一次响应多个请求。

评论