启用信息内容过期(客户使用者端缓存)
对于静态文件启用信息内容过期可以提升提高浏览访问性能。
1、首先网站站点的目录要划分合理,image图片、CSS、Java均放在单独目录下
2、然后在IIS中选择要缓存的目录 > HTTP 响应标头 > 配置设置常用标头 > 配置设置"web信息内容过期"策略
如上图webDemo网站站点,这样,用户访问浏览器将比较当前日期和截止日期,以便决定是显示缓存页还是从we服务器请求调整更新的页,由于image图片、CSS、JS通常变化较少,因此基本上都从本地缓存读取,从而加快显示相应速度。
参考:IIS7禁用单个静态文件的客户使用者端缓存
we服务器验证缓存
IIS自动机制,会在浏览访问css、js等静态文件时,返回给查看浏览器Last-Modified和Etag标记
参考:
查看浏览器缓存之Last-Modified
服务端的缓存验证 Last-Modified和Etag
启用Gzip压缩
IIS 压缩功能使用Gzip算法规则
gzip是HTTP的一种压缩算法规则,HTTP压缩是在Webwe服务器和查看浏览器间传输压缩文本信息信息内容的方式方法。HTTP压缩采用通用的压缩算法规则如gzip等压缩HTML、Java或 CSS文件。压缩的最大好处就是降低了互联网网络传输的数值数据量,从而提升提高客户使用者端查看浏览器的访问相应速度。当然,同时也会提升增加一点点we服务器的负担。Gzip是比较常见的一种HTTP压缩算法规则。
五、IIS初始化(预加载),解决(被回收后)第一次浏览访问慢
参考:
配置设置之后,什么时候会自动初始化?
(例如初始化执行 Global.Application_Start 初始化函数)
1)会 - 应用程序池启动、应用程序池回收、cmd->iisreset (w3wp的PID会变)
2)不会 - 网站站点重启(IIS网站站点右键 > 管理网站站点 > 重新启动)、网站站点启动
3)不会 - web.config更改引起的应用程序池回收
在IIS10版本上测试是上面行为。另外有人IIS8.5上使用也是同样的行为,参考信息文章。
步骤一、安装IIS应用程序初始化功能
步骤二、配置设置IIS上应用程序池启动模式
常规 > 启动模式
默认值:OnDemand(按需运行模式),另外值AlwaysRuning(始终运行模式)
优化提升配置设置:改为 AlwaysRunning(始终运行)
步骤三、配置设置网站站点预加载
在IIS上网站站点右键 > 管理网站站点 > 高级配置设置,把【预加载已启用】配置设置为true。
步骤四、配置网站站点 web.config ,增加添加网站站点重启后预加载请求的网站页面
地址:
processModel 元素(ASP.NET 配置设置架构)
Improving ASP.NET Performance (微软文档中给出了推荐值,如下图)
七、安全性
为不同工作进程指定应用程序池(工作进程隔离模式)
一台we服务器上有非常多的Web网站站点。如何才能做到各个网站站点之间相互独立,不因某些Web网站站点出现故障而影响其他网站站点呢?--为不同工作进程指定应用程序池是个很好的解决办法。
进程模型 > 标识,使用ApplicationPoolIdentity虚拟账户
ApplicationPoolIdentity – 默认情况下,选择“应用程序池标识”帐户。启动应用程序池时动态创建“应用程序池标识”帐户,因此,此帐户对于您的应用程序来说是最安全的。(这样,每个应用程序池都有各自的账户,就避免了木马上传到其中一个池下网站站点,会对另一个池的文件夹有操作权限)
参考:IIS7.5中神秘的ApplicationPoolIdentity
启用快速失败保护
如果Web应用程序代码编写有问题,它可能会导致工作进程持续出现问题。默认情况下应用程序池配置为启用快速失败保护,当工作进程在配置的时间段(默认为5分钟)内发生的失败次数超过了配置的值(默认为5次),则禁用此应用程序池。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有