互联网信息服务器性能优化全解析
1. 静态与动态内容处理差异
在服务器处理内容时,静态页面和动态内容的处理对CPU的需求有很大不同。当服务器处理静态内容时,在请求传递到IIS后,处理静态页面所需的CPU参与度非常低。然而,对于动态内容,情况则大不相同。如果一个网站生成动态内容需要执行CGI脚本,那么在生成动态内容时的CPU利用率会远远超过将请求传递给IIS时的CPU利用率。
2. 中断处理机制
中断处理是影响CPU利用率的另一个重要因素,它与连接请求的强度密切相关。当设备需要CPU立即处理时,就会产生中断。以下是HTTP请求到达网络由IIS处理时中断的生成过程:
1. 网络数据包到达后,会暂时缓冲在网络接口卡(NIC)中。
2. 随后,NIC会中断处理器,特定网卡的中断服务程序(ISR)会运行以处理请求。由于ISR优先级很高,它只是确认数据已接收,并安排延迟过程调用(DPC)来完成请求的处理。
3. DPC例程将接收到的数据包从NIC的缓冲区复制到主内存,并通知内核中的TCP/IP协议栈有数据包到达。
4. 包含HTTP请求的数据包最终到达IIS。IIS解析请求,确定这是对其目录中某个文件的GET请求。
5. 假设该HTML页面最近未被访问过,IIS必须从磁盘中检索该文件。它通过文件系统代码向磁盘发送请求,以使用TransmitFile API调用通过套接字传输文件。
6. 磁盘将文件的数据块传输到文件系统缓存。
7. 在数据传输期间,根据连接磁盘与系统的I/O总线,磁盘会向CPU生成一个或多个中断。
8. 数据经过TCP/IP协议栈代码处理后,直接从文件系统缓存传输到NIC。根据文件大小,可能会
超级会员免费看
订阅专栏 解锁全文
2275

被折叠的 条评论
为什么被折叠?



