第七十九章 IIS 技术说明 - 工作进程的空闲超时

2024-05-13 08:44

本文主要是介绍第七十九章 IIS 技术说明 - 工作进程的空闲超时,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第七十九章 IIS 技术说明 -
  • 工作进程的空闲超时
  • 回收工作流程
  • `Bitness` — 适用于 `Windows` 的 `64` 位服务器上的 `32` 位应用程序

第七十九章 IIS 技术说明 -

工作进程的空闲超时

通常有必要通过终止未使用的工作进程来节省系统资源。可以将工作进程配置为在指定时间段后正常关闭。当处理负载很重、所识别的应用程序始终处于空闲状态或新的处理空间不可用时,此功能可用于更好地管理资源。

当工作进程终止时,它管理的 Web Gateway 实例也会关闭,并且该网关实例所持有的 IRIS 连接池也会终止。当然,附加的无状态连接始终可以以对 Web 应用程序的用户透明的方式进行替换,但状态感知会话(保留模式 1)会在其托管连接关闭时终止。

回收工作流程

可以将 IIS 配置为定期重新启动工作进程,以便回收有故障的 Web 应用程序。此功能有助于确保应用程序池保持健康并恢复任何泄漏的系统资源。

可以将工作进程配置为根据经过的时间、服务的请求数、计划时间以及内存使用情况重新启动。

上一节(空闲超时)讨论了关闭工作进程对 Web Gateway 的影响。同样的考虑因素也适用于此。由于 Web 应用程序只能通过精心管理的通道与 Web 网关交互,因此建议不要回收支持 Web 应用程序的工作进程。

Bitness — 适用于 Windows64 位服务器上的 32 位应用程序

注意:本节适用于加载到托管 Web 服务器地址空间的模块:ISAPI 扩展和本机模块(CSPms[Sys].dllCSPcms.dll)。 CGI 模块不受影响,因为它们作为相对于 IIS 的独立进程运行。

启用 32 位应用程序设置适用于应用程序池级别,这使得可以设置特定应用程序池的位数。在单台服务器安装中,您可以将一个应用程序池配置为运行本机 64 位应用程序,将另一个应用程序池配置为运行 32 位应用程序。

要访问应用程序池的位数设置,请进入 IIS 控制面板:

  1. 在左侧面板中选择应用程序池。
  2. 选择适当的应用程序池。
  3. 在右侧面板中选择高级设置。
  4. 将出现“高级设置”对话框。启用 32 位应用程序设置位于“常规”部分。可以将其设置为 TrueFalse

顺便说一句,可以使用 appcmd 命令在 Window 命令行中操作此配置设置。例如:

appcmd set apppool /apppool.name:DefaultAppPool/enable32bitapponwin64:true

这会将应用程序池 DefaultAppPool 设置为在 32 位模式下运行。

还可以使用 appcmd 命令根据位数列出应用程序池。例如,要列出以 64 位模式运行的所有应用程序池,请使用以下命令:

appcmd list apppools /enable32bitapponwin64:false

最后,由于应用程序池可以在不同的位数模式下运行,因此有必要确保应用程序池加载的本机模块(和 ISAPI 扩展)本身具有该池的正确位数。例如,如果托管应用程序池是 64 位,则必须使用 64 位网关模块(例如 CSPms[Sys].dll)。如果托管应用程序池是 32 位,则必须改用 32 位网关模块。

各个模块的位数检查是通过模块的 web.config 文件中的前提条件完成的。对于 Web 网关,此文件通常如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><handlers><add name="WebGateway_All" path="*" verb="*" modules="CSPms" resourceType="Unspecified" \preCondition="bitness64" /></handlers><security><requestFiltering><hiddenSegments><remove segment="bin" /></hiddenSegments></requestFiltering></security></system.webServer>
</configuration>

请注意前提条件子句中的位数设置。在本例中,bitness 设置为 bitness64,这意味着 IIS 检查在 64 位应用程序池中运行的 64 位网关模块。

如果使用 32 位应用程序池,则必须使用 32 位网关模块,并且前提条件设置为 bitness32

如果安装的模块、前置条件子句和/或托管应用程序池的期望之间存在不一致,则 IIS 将返回类似于下面所示的错误情况。

Error:
The module(s) assigned to this handler mapping has the following preconditions that are not
present in the handler mapping:
bitness64
Runtime errors may occur if a handler mapping does not have a set of preconditions that are
equally as restrictive as, or more restrictive, than the module(s) assigned to the mapping.
Please ensure that this handler mapping has the correct preconditions, and that the 
preconditions are not in conflict.

这篇关于第七十九章 IIS 技术说明 - 工作进程的空闲超时的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985218

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Spring Boot Actuator使用说明

《SpringBootActuator使用说明》SpringBootActuator是一个用于监控和管理SpringBoot应用程序的强大工具,通过引入依赖并配置,可以启用默认的监控接口,... 目录项目里引入下面这个依赖使用场景总结说明:本文介绍Spring Boot Actuator的使用,关于Spri

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Java CompletableFuture如何实现超时功能

《JavaCompletableFuture如何实现超时功能》:本文主要介绍实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的,需要的... 目录基本思路CompletableFuture 的实现1. 基本实现流程2. 静态条件分析3. 内存泄露 bug

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是