
编辑推荐
《微软互联网信息服务(IIS)最佳实践》内容覆盖面广,结合很多实际案例、注重理论和实际问题排查经验的配合,非常适合于使用IIS运维Web网站的IT人员,也适合于从Apache和Nginx等Web容器平台转向IIS平台的读者。对于有IIS运营维护经验的读者,也极具参考价值。
作者简介
李争微软(中国)有限公司开发者体验与平台合作部门担任技术顾问。专注于微软公有云平台Azure的解决方案和架构设计、Azure应用的实施,以及Azure上的开源技术等工作。曾在微软企业服务部作为原厂技术支持工程师工作多年,承担企业开发者代码调试和技术支持、Web应用前端后端代码调优,以及IIS 的问题诊断、调优、培训等工作。具有丰富的企业客户临场解决严重系统问题的经验。拥有四十多门微软认证证书,涵盖了几乎全部微软开发相关技术,同时也是一位具有十多年丰富授课经验的微软认证讲师(MCT)。
目录
推荐序Ⅲ
前言Ⅴ
第1章IIS的架构介绍
1.1IIS的前世今生
1.1.1IIS的历史
1.1.2IIS各个版本的重要演进
1.2初识IIS
1.2.1IIS应用程序文件夹
1.2.2IIS Web内容文件夹
1.2.3IIS相关的Windows服务
1.3关键进程InetInfo.exe和w3wp.exe
1.4IIS架构探秘
1.4.1IIS的内核层实现
1.4.2IIS的应用层实现
1.4.3一个H T T P请求在IIS上处理的完整流程
1.4.4一个ASP.NET页面请求的处理
第2章规划Web服务器部署
2.1部署Web应用需要考虑的几个问题
2.1.1账号类型
2.1.2Web站点状态数据的存储方式
2.1.3保证配置和网站内容一致的方法
2.2几种常见的部署模型
2.2.1负载平衡器和Web服务器方式
2.2.2负载平衡加Web服务器和DFS服务器方式
2.2.3负载平衡加Web服务器和集中存储方式
2.3Azure公有云上的几种部署模型
2.3.1Web应用加数据库模型
2.3.2Cloud Service加虚拟网络模型
2.3.3虚拟网络部署虚拟机模型
第3章安装IIS服务
3.1IIS安装步骤
3.1.1使用服务器管理器安装IIS服务
3.1.2使用命令行方式进行IIS安装
3.2IIS组件列表以及对应的功能
3.2.1FTP服务器、FTP服务和FTP扩展性
3.2.2Web管理工具中的IIS 6.0管理兼容性
3.2.3Web管理工具中的管理服务、管理脚本和工具及管理控制台
3.2.4安全性
3.2.5常见H T T P功能
3.2.6性能
3.2.7应用程序开发
3.2.8健康和诊断
3.2.9管理工具
3.2.10IIS 6.0管理兼容性
3.2.11IIS可承载Web核心
3.3推荐安装的IIS组件列表
第4章部署Web站点
4.1使用Web Deploy工具部署Web网站
4.2使用Visual Studio Online为Azure Web应用部署Web网站
4.3使用Git为Azure应用部署Web网站
4.3.1在Web应用上创建本地Git存储库
4.3.2把Web网站内容提交到Git存储库
4.4在云服务上的Web网站部署
第5章安装IIS之后操作系统的优化
5.1设置虚拟内存文件pagefile.sys
5.2设置致命故障恢复配置
5.3关闭不必要的服务
5.4设置适当的Windows事件日志大小
5.5设置定期整理磁盘
5.6关闭Windows自动更新
第6章IIS站点配置介绍和调优
6.1Web站点配置介绍
6.1.1设定默认文档
6.1.2目录浏览
6.1.3设置压缩
6.1.4设定日志
6.1.5在网络负载平衡环境下设置MachineKey
6.2IIS应用程序池概述
6.3应用程序池配置介绍
6.3.1常规
6.3.2CPU
6.3.3回收
6.3.4进程孤立
6.3.5进程模型
6.3.6快速故障防护
6.4推荐的应用程序池配置
6.5.NET进程模型调优
6.5.1在配置文件中禁用Debug模式
6.5.2在配置文件中设置进程模型元素
第7章IIS日常运维
7.1日常运维工具
7.2定时检查Web站点的连通性
7.3定期收集审查Windows日志
7.3.1Windows应用程序日志提取的主要步骤
7.3.2Windows应用程序日志的分析步骤
7.4定期收集和审查H T T P错误日志
7.5定期收集和分析IIS日志
7.5.1IIS日志的收集
7.5.2IIS日志的分析
7.5.3有用的查询
7.6使用Azure HDInsight大数据工具分析IIS日志
7.6.1创建HDInsight服务账号
7.6.2使用Azcopy上传IIS日志文件
7.6.3使用Hive对IIS日志数据进行查询分析
7.6.4使用Excel导出IIS日志分析结果
7.7养成定期整理磁盘碎片的好习惯
7.8定期安装Windows补丁更新
7.8.1常规安全检查
7.8.2离线扫描补丁缺失
第8章IIS基本问题排错
8.1IIS排错常备工具介绍
8.1.1性能监视器
8.1.2性能分析工具PAL
8.1.3H T T P调试工具Fiddler
8.1.4失败请求跟踪
8.1.5Dump抓取工具
8.2用性能监视器监控Web服务器性能
8.2.1导出IIS计数器模板
8.2.2计数器模板导入并记录数据
8.2.3性能数据的实时查看
8.2.4调整实时计数器的显示
8.3一些关键计数器指标
8.3.1CPU占用率
8.3.2内存相关指标
8.3.3磁盘相关指标
8.4使用性能分析工具PAL分析性能数据
8.5使用Fiddler调试H T T P通信
8.5.1使用Fiddler调试浏览器通信
8.5.2使用Fiddler调试UWP应用通信
8.6失败请求追踪
8.7Dump抓取工具
8.7.1任务管理器
8.7.2DebugDiag
8.7.3ADPlus
8.7.4ProcDump
8.7.5抓取Dump工具使用比较
第9章ASP.NET Web应用程序排错
9.1环境准备
9.1.1BuggyBits网站
9.1.2安装Debugging Tools for Windows
9.1.3设置符号表路径
9.2调试分析
9.2.1访问Featured Products时间过长
9.2.2访问AllProducts.aspx页面缓慢
9.2.3ProductInfo.aspx页内存泄漏
9.2.4Review.aspx页面导致IIS停止服务
9.2.5News.aspx页面内存泄漏
9.2.6CompanyInformation.aspx页面发送消息崩溃
9.2.7Links.aspx页面内存泄漏
第10章Azure上的Web App
10.1Azure Web应用的配置介绍
10.1.1Web应用的IIS相关配置
10.1.2Web应用的缩放配置
10.1.3Web应用的备份配置
10.2实现持续部署
10.2.1创建部署槽
10.2.2部署槽的切换
10.3高级调试
10.3.1访问Kudu
10.3.2抓取内存Dump
文摘
版权页:
1.4 IIS架构探秘
本节将详细介绍H T T P请求是如何被IIS的各个组件顺序处理的。
1.4.1 IIS的内核层实现
早期的IIS是一个运行在用户态的服务程序,这和一般程序员自己编写的桌面程序没有本质的区别。应用程序都是运行在保护模式下的用户态,由操作系统为程序分配资源来运行。到了IIS 6.0,为了进一步提高IIS的性能和数据吞吐量,最基础的I/O部分和协议处理部分被封装成了Windows的内核驱动,以内核驱动的方式在Windows上运行可以直接访问计算机的物理内存,程序运行更加高效。与IIS相关的内核驱动程序有两个:一个是tcp.sys,另一个是h t t p.sys。
所谓TCP,是用来定义在网络上数据传送方式的协议,它是一个位于OSI七层协议栈的传输层的协议。因此,tcp.sys专司Windows操作系统与外界使用TCP协议传输数据的功能。h t t p协议是一个定义在应用层的协议,它定义了数据交互的谓词数据的格式等等,但是传输层上是使用TCP协议进行数据包传送。了解以上内容有助于理解h t t p.sys和tcp.sys的关系:tcp.sys位于Windows通信的最底层,凡是使用TCP协议传输的H T T P协议数据包都会被tcp.sys完成组包后再交给h t t p.sys进行处理。
现在需要深入介绍h t t p.sys的内部构造,因为它和IIS处理h t t p请求直接相关。
《微软互联网信息服务(IIS)最佳实践》内容覆盖面广,结合很多实际案例、注重理论和实际问题排查经验的配合,非常适合于使用IIS运维Web网站的IT人员,也适合于从Apache和Nginx等Web容器平台转向IIS平台的读者。对于有IIS运营维护经验的读者,也极具参考价值。
作者简介
李争微软(中国)有限公司开发者体验与平台合作部门担任技术顾问。专注于微软公有云平台Azure的解决方案和架构设计、Azure应用的实施,以及Azure上的开源技术等工作。曾在微软企业服务部作为原厂技术支持工程师工作多年,承担企业开发者代码调试和技术支持、Web应用前端后端代码调优,以及IIS 的问题诊断、调优、培训等工作。具有丰富的企业客户临场解决严重系统问题的经验。拥有四十多门微软认证证书,涵盖了几乎全部微软开发相关技术,同时也是一位具有十多年丰富授课经验的微软认证讲师(MCT)。
目录
推荐序Ⅲ
前言Ⅴ
第1章IIS的架构介绍
1.1IIS的前世今生
1.1.1IIS的历史
1.1.2IIS各个版本的重要演进
1.2初识IIS
1.2.1IIS应用程序文件夹
1.2.2IIS Web内容文件夹
1.2.3IIS相关的Windows服务
1.3关键进程InetInfo.exe和w3wp.exe
1.4IIS架构探秘
1.4.1IIS的内核层实现
1.4.2IIS的应用层实现
1.4.3一个H T T P请求在IIS上处理的完整流程
1.4.4一个ASP.NET页面请求的处理
第2章规划Web服务器部署
2.1部署Web应用需要考虑的几个问题
2.1.1账号类型
2.1.2Web站点状态数据的存储方式
2.1.3保证配置和网站内容一致的方法
2.2几种常见的部署模型
2.2.1负载平衡器和Web服务器方式
2.2.2负载平衡加Web服务器和DFS服务器方式
2.2.3负载平衡加Web服务器和集中存储方式
2.3Azure公有云上的几种部署模型
2.3.1Web应用加数据库模型
2.3.2Cloud Service加虚拟网络模型
2.3.3虚拟网络部署虚拟机模型
第3章安装IIS服务
3.1IIS安装步骤
3.1.1使用服务器管理器安装IIS服务
3.1.2使用命令行方式进行IIS安装
3.2IIS组件列表以及对应的功能
3.2.1FTP服务器、FTP服务和FTP扩展性
3.2.2Web管理工具中的IIS 6.0管理兼容性
3.2.3Web管理工具中的管理服务、管理脚本和工具及管理控制台
3.2.4安全性
3.2.5常见H T T P功能
3.2.6性能
3.2.7应用程序开发
3.2.8健康和诊断
3.2.9管理工具
3.2.10IIS 6.0管理兼容性
3.2.11IIS可承载Web核心
3.3推荐安装的IIS组件列表
第4章部署Web站点
4.1使用Web Deploy工具部署Web网站
4.2使用Visual Studio Online为Azure Web应用部署Web网站
4.3使用Git为Azure应用部署Web网站
4.3.1在Web应用上创建本地Git存储库
4.3.2把Web网站内容提交到Git存储库
4.4在云服务上的Web网站部署
第5章安装IIS之后操作系统的优化
5.1设置虚拟内存文件pagefile.sys
5.2设置致命故障恢复配置
5.3关闭不必要的服务
5.4设置适当的Windows事件日志大小
5.5设置定期整理磁盘
5.6关闭Windows自动更新
第6章IIS站点配置介绍和调优
6.1Web站点配置介绍
6.1.1设定默认文档
6.1.2目录浏览
6.1.3设置压缩
6.1.4设定日志
6.1.5在网络负载平衡环境下设置MachineKey
6.2IIS应用程序池概述
6.3应用程序池配置介绍
6.3.1常规
6.3.2CPU
6.3.3回收
6.3.4进程孤立
6.3.5进程模型
6.3.6快速故障防护
6.4推荐的应用程序池配置
6.5.NET进程模型调优
6.5.1在配置文件中禁用Debug模式
6.5.2在配置文件中设置进程模型元素
第7章IIS日常运维
7.1日常运维工具
7.2定时检查Web站点的连通性
7.3定期收集审查Windows日志
7.3.1Windows应用程序日志提取的主要步骤
7.3.2Windows应用程序日志的分析步骤
7.4定期收集和审查H T T P错误日志
7.5定期收集和分析IIS日志
7.5.1IIS日志的收集
7.5.2IIS日志的分析
7.5.3有用的查询
7.6使用Azure HDInsight大数据工具分析IIS日志
7.6.1创建HDInsight服务账号
7.6.2使用Azcopy上传IIS日志文件
7.6.3使用Hive对IIS日志数据进行查询分析
7.6.4使用Excel导出IIS日志分析结果
7.7养成定期整理磁盘碎片的好习惯
7.8定期安装Windows补丁更新
7.8.1常规安全检查
7.8.2离线扫描补丁缺失
第8章IIS基本问题排错
8.1IIS排错常备工具介绍
8.1.1性能监视器
8.1.2性能分析工具PAL
8.1.3H T T P调试工具Fiddler
8.1.4失败请求跟踪
8.1.5Dump抓取工具
8.2用性能监视器监控Web服务器性能
8.2.1导出IIS计数器模板
8.2.2计数器模板导入并记录数据
8.2.3性能数据的实时查看
8.2.4调整实时计数器的显示
8.3一些关键计数器指标
8.3.1CPU占用率
8.3.2内存相关指标
8.3.3磁盘相关指标
8.4使用性能分析工具PAL分析性能数据
8.5使用Fiddler调试H T T P通信
8.5.1使用Fiddler调试浏览器通信
8.5.2使用Fiddler调试UWP应用通信
8.6失败请求追踪
8.7Dump抓取工具
8.7.1任务管理器
8.7.2DebugDiag
8.7.3ADPlus
8.7.4ProcDump
8.7.5抓取Dump工具使用比较
第9章ASP.NET Web应用程序排错
9.1环境准备
9.1.1BuggyBits网站
9.1.2安装Debugging Tools for Windows
9.1.3设置符号表路径
9.2调试分析
9.2.1访问Featured Products时间过长
9.2.2访问AllProducts.aspx页面缓慢
9.2.3ProductInfo.aspx页内存泄漏
9.2.4Review.aspx页面导致IIS停止服务
9.2.5News.aspx页面内存泄漏
9.2.6CompanyInformation.aspx页面发送消息崩溃
9.2.7Links.aspx页面内存泄漏
第10章Azure上的Web App
10.1Azure Web应用的配置介绍
10.1.1Web应用的IIS相关配置
10.1.2Web应用的缩放配置
10.1.3Web应用的备份配置
10.2实现持续部署
10.2.1创建部署槽
10.2.2部署槽的切换
10.3高级调试
10.3.1访问Kudu
10.3.2抓取内存Dump
文摘
版权页:
1.4 IIS架构探秘
本节将详细介绍H T T P请求是如何被IIS的各个组件顺序处理的。
1.4.1 IIS的内核层实现
早期的IIS是一个运行在用户态的服务程序,这和一般程序员自己编写的桌面程序没有本质的区别。应用程序都是运行在保护模式下的用户态,由操作系统为程序分配资源来运行。到了IIS 6.0,为了进一步提高IIS的性能和数据吞吐量,最基础的I/O部分和协议处理部分被封装成了Windows的内核驱动,以内核驱动的方式在Windows上运行可以直接访问计算机的物理内存,程序运行更加高效。与IIS相关的内核驱动程序有两个:一个是tcp.sys,另一个是h t t p.sys。
所谓TCP,是用来定义在网络上数据传送方式的协议,它是一个位于OSI七层协议栈的传输层的协议。因此,tcp.sys专司Windows操作系统与外界使用TCP协议传输数据的功能。h t t p协议是一个定义在应用层的协议,它定义了数据交互的谓词数据的格式等等,但是传输层上是使用TCP协议进行数据包传送。了解以上内容有助于理解h t t p.sys和tcp.sys的关系:tcp.sys位于Windows通信的最底层,凡是使用TCP协议传输的H T T P协议数据包都会被tcp.sys完成组包后再交给h t t p.sys进行处理。
现在需要深入介绍h t t p.sys的内部构造,因为它和IIS处理h t t p请求直接相关。
ISBN | 9787302436577,7302436576 |
---|---|
出版社 | 清华大学出版社 |
作者 | 李争 |
尺寸 | 16 |