CICS HTTP 支持:性能和调优
您可以调整系统的多个方面,以提高 CICS® HTTP 支持的性能。
影响 HTTP 连接数限制的因素
CICS 区域配置的几个方面可能会影响该区域可支持的最大 HTTP 连接数:
- CICS 区域中可用的存储器
- 实际上,单个 CICS 区域与 Web 之间可以处于活动状态的连接数主要受 CICS 区域中可用存储器的限制。 CICS Web Support 的存储需求 说明了 CICS Web Support 活动最重要的存储需求。
- MXT 设置的影响
- 在每个 CICS 区域中,作为 HTTP 服务器的 CICS 与 Web 客户机之间的最大并发连接数,或者作为 HTTP 客户机的 CICS 与 Web 上的服务器之间的最大并发连接数,理论上最多可达 64,000 个。 MXT 设置不会直接限制并发连接的数目:
- 对于作为 HTTP 服务器的 CICS , CWXN 事务 (Web 连接任务) 在持久连接期间不会保留在系统中,而是在需要该事务的每个请求之后终止。 这意味着,在请求之间可以存在由套接字侦听器任务 (CSOL) 监控但与活动任务无关的持续连接。
- 对于作为 HTTP 客户机的 CICS ,应用程序可以打开和维护与 Web 上的服务器的多个持久连接,这些连接由应用程序的单个活动任务覆盖。
但是,可以使用 MXT 设置以及您在 CICS Web Support 事务的事务类定义中设置的任何限制来限制 CICS 区域中的 CICS Web Support 活动量。 有关如何设置 MXT 的信息,请参阅 设置最大任务规范 (MXT)。
对 HTTP 连接使用性能调整以保护 CICS 免受不受约束的资源需求的影响
SO微调 SIT 参数指定是否对 HTTP 连接进行性能调整以保护 CICS 免受不受约束的资源需求的影响。 如果 SOTUNING SIT 参数设置为缺省值 YES ,那么当区域变得超负荷时, CICS 将临时停止侦听新的 HTTP 连接请求。 如果继续重载, CICS 将关闭现有 HTTP 持久连接,并将所有新的 HTTP 连接标记为非持久连接。 这些操作可防止在 CICS中接收并排队新 HTTP 工作的过量供给,从而允许对 TCP/IP 端口共享和综合系统分发器进行反馈,促进与共享相同 IP 端点的其他区域均衡共享工作负载,并允许 CICS 区域更快地恢复。 如果 SOTUNING 设置为 YES ,那么 CICS 会定期关闭持久连接,以允许使用诸如 TCP/IP 共享端口和综合系统分发器之类的技术在共享 IP 端点的区域之间更有效地共享工作负载。
CICS TCP/IP 统计信息可用于说明是否进行了性能调整。 有关更多信息,请参阅 性能调整统计信息。
作为 HTTP 服务器的 CICS 的性能注意事项
- 影响性能的因素
- 事务的优先级非常重要
- 对于作为 HTTP 服务器的 CICS , CICS Web Support 所涉及的各种事务的优先级非常重要,不正确的设置可能会导致存储空间不足的情况。 CICS Web Support 事务 (CWXN , CWXU , CWBA 和 CW2A) 的优先级 指示如何设置优先级以避免此区域中的问题。
- HTTP 响应类型影响性能
- 对于作为 HTTP 服务器的 CICS ,可以由应用程序生成 HTTP 响应,也可以从静态文档 (可以是 zFS 文件或 CICS 文档模板) 提供 HTTP 响应。 CICS 文档模板可以是各种不同的 CICS 资源之一,包括程序,分区数据集或文件。 CICS Web Support 响应方法的相对性能 说明了这些响应类型之间的性能差异。
- 如何提高性能
- 连接调速可防止 CICS 区域超负荷
- 缺省情况下,CICS 尝试将 HTTP 连接作为永久连接打开。 可以将 Web 客户机与服务器之间的持续连接用于请求和响应的多个交换,因此不必为每个请求建立新连接。 持续连接可提高网络性能,因为与使请求使用现有连接相比,建立新连接会消耗大量额外的网络资源。 但是,如果多个 Web 客户机将与 CICS 的长期持续连接设置为 HTTP 服务器并大量使用这些连接,那么处理这些连接的 CICS 区域可能会超负荷并迂到性能问题。
如果迂到此类问题,可以设置连接调速以使过量的 Web 客户机连接到共享端口并提供相同服务的其他 CICS 区域。
- 使用 TCPIPSERVICE 资源定义上的 MAXPERSIST 属性来设置对 CICS 区域为特定端口接受的持久 HTTP 连接数的限制。 后续 Web 客户机均受此连接调速的限制,并且它们需要在每个响应之后关闭其连接。 当新客户机重新连接时,如果它们连接到另一个共享该端口的 CICS 区域并且未达到其限制,那么它们可以在该区域保持持久连接。
- HTTP/1.1 服务器通常应该允许持续连接,因此仅在由于长期持续连接而迂到性能问题的 CICS 区域中设置连接调速。 如果您确实限制了持续连接数,那么作为 HTTP 服务器的 CICS 仍符合 HTTP/1.1 规范 (前提是您未设置零限制) ,但不建议作为常规做法拒绝持续连接。
- 请注意,当 Web 客户机无法获取其期望的持久连接时,可能会影响其性能,尤其是当它们重新连接到已实施连接调速的 CICS 区域时。 当 Web 客户机连接到另一个共享该端口且未达到其限制的 CICS 区域时,性能将恢复正常。
有关持久连接和连接调速的更多信息,请参阅 CICS Web Support 如何处理持久连接。
CICS TCP/IP 统计信息可用于说明复用连接的情况。 有关更多信息,请参阅 连接持久性统计信息。
CICS 作为 HTTP 客户机的性能注意事项
- 如何提高性能
- 在某些情况下,连接池可提供性能优势
- 对于作为 HTTP 客户机的 CICS ,缺省情况下, CICS 会在应用程序完成使用该连接后关闭客户机 HTTP 连接。 如果设置连接池,那么 CICS 可以使连接保持打开状态,并将其置于处于休眠状态的池中,并且可以由同一应用程序或连接到同一主机和端口的另一个应用程序复用该连接。 用于 HTTP 客户机性能的连接池 说明了连接池为 CICS Web Support 应用程序和 Web Service 应用程序提供性能优势的情况。
SSL 连接的性能注意事项
- 如果您在使用安全套接字层 (SSL),那么安全措施(如加密和解密以及 SSL 握手)可能会使每个事务的 CPU 使用率略有上升。 对于作为 HTTP 客户机的 CICS ,如果实现连接池,那么 CICS 应用程序可以复用已使用 SSL 建立的客户机 HTTP 连接。 复用连接时,无需重复安全措施,因此从池中获取连接的应用程序不会遇到这种 CPU 使用率上升的情况。
- 您可以监视为每个 CICS 区域及其客户机之间的 SSL 连接选择的密码套件。 DFHSOCK 组中的性能数据字段 SOCIPHER (320) 显示用于每个 SSL 入站连接的密码套件的代码。 使用此信息可识别 CICS 区域提供但未针对 SSL 连接选择的任何密码套件。 您还可以识别任何不够有效、不够安全的密码套件,尽管这些套件将选择用于 SSL 入站连接,但您更愿意将其除去。 定制加密协商 说明如何定制可在加密协商中使用的密码套件列表。
- SSL 使用 S8 TCB。 对于基于 SSL 的 HTTP 请求,所有 CICS 处理都在 S8 TCB 上进行 (在 S8 和 SO TCB 之间没有切换)。 这意味着 Web 连接任务 (缺省情况下为 CWXN) 将保留在 S8 TCB 上,直到发送或接收到所有数据为止。 这可能会导致正在发送或接收消息的任务达到失控限制并被终止。 如果发送或接收大型消息,您应该确定是否需要增加 Web 服务器 HTTP 连接事务 (缺省情况下为 CWXN) , Web 服务器别名事务以及发出 Web 客户机 API 命令 SEND , RECEIVE 和 CONVERSE 的任何事务的事务 RUNAWAY 值。
您可以使用分派器 TCB 统计信息来监视 S8 TCB。
请参阅 CICS 分派器: 性能和调整 ,以获取有关设置用于控制 CICS 使用的 TCB 数的系统初始化参数的指导信息。