跳到主要内容

使用流压缩连接

SolacePubSub+允许连接到事件代理的客户端应用程序发送和接收压缩的消息数据。当在事件代理上启用通道压缩,并且客户端应用程序与事件代理建立的会话启用了压缩时,从事件代理和客户端应用程序发送的消息在传输前会被压缩,并在客户端应用程序或事件代理接收时被解压缩。

配置数据连接的流压缩连接

要使用流压缩连接功能,您必须执行以下步骤:

  1. 为客户端连接配置一个TCP监听端口,用于发送和接收压缩的消息数据。

    默认情况下,事件代理在TCP端口55555上监听非压缩连接,在TCP端口55003上监听压缩连接,在TCP端口55443上监听压缩和加密连接。监听端口是完全可配置的,更多配置信息,请参见服务。

  2. 配置您是否希望事件代理压缩数据以优化传输消息的大小,或优化消息传递的速度。

    参考配置数据压缩优化模式。

  3. 在客户端,为客户端用于与事件代理建立连接的会话启用通道压缩。

    有关如何为客户端会话启用消息压缩的信息,请参见为Solace消息传递API启用会话的通道压缩。对于Solace JMS API,压缩级别通过JNDI或数据连接属性设置(参见JMS属性参考)。

配置数据压缩优化模式

当TCP监听端口配置为使用压缩时,您可以配置事件代理压缩数据是为了优化传输消息的大小,还是为了优化消息传递的速度。通常,优化大小模式可以获得更高的压缩比率和较低的吞吐量,而优化速度模式可以获得更高的吞吐量和较低的压缩比率。

要配置压缩功能以压缩数据以优化传输消息的大小或优化消息传递的速度,请输入以下CONFIG命令:

solace(configure)# compression [mode]

其中:

mode是使用的压缩模式。两个可能的值是optimize-for-size(默认值)或optimize-for-speed。

虽然Solace消息传递API中的压缩级别设置对发布到事件代理的消息的压缩速度和压缩水平有显著影响,但事件代理发送的消息数据是在硬件中压缩的,提供的压缩级别与API提供的最积极级别相当,而不会牺牲速度。因此,对于大多数情况,压缩模式设置对事件代理的影响是最小的。

监控流压缩连接

您可以使用几个show命令来验证和监控事件代理上的流压缩连接配置和状态:

  • 显示客户端连接
  • 显示客户端统计详细信息
  • 显示压缩
  • 显示服务

显示客户端连接

要查看特定客户端是否已压缩,请输入以下用户执行命令:

solace> show client <name> connections

其中:

<name>是客户端的全名,或客户端名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符代表名称中的零个或多个字符,其中仅输入通配符显示所有客户端。

显示客户端统计详细信息

要查看特定客户端的压缩统计信息,请输入以下用户执行命令:

solace> show client <name> stats detail

其中:

<name>是客户端的全名,或客户端名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符代表名称中的零个或多个字符,其中仅输入通配符显示所有客户端。

img示例和统计解释:

solace> show client #00010001 stats detail

输出包括(其他统计信息):

******************** 压缩/解压缩统计 ******************

接收 发送
-------------------- -------------------
压缩字节 1265052 221
未压缩字节 4012610 292
压缩比率 3.17 1.32

入站(字节/秒) 出站(字节/秒)
-------------------- -------------------
压缩速率(1秒样本) 1050 0
未压缩速率(1秒样本) 100506 0
压缩速率(60秒样本) 6292 0
未压缩速率(60秒样本) 15401 0

下表描述了压缩统计信息。

统计描述
压缩字节事件代理接收和发送的压缩数据量(以字节为单位)。
未压缩字节事件代理处理的未压缩数据量(以字节为单位)。 该统计包括未压缩和压缩数据,但压缩数据是在解压缩后测量的。
压缩比率事件代理处理的数据的未压缩字节/压缩字节的比率。
压缩速率(1秒样本)基于“压缩字节”计算的字节速率,以一秒样本间隔为基准。
未压缩速率(1秒样本)基于“未压缩字节”计算的字节速率,以一秒样本间隔为基准。
压缩速率(60秒样本)基于“压缩字节”计算的字节速率,以60秒样本间隔为基准。
未压缩速率(60秒样本)基于“未压缩字节”计算的字节速率,以60秒样本间隔为基准。

压缩统计

显示压缩

要查看事件代理上的压缩配置和统计信息,请输入以下用户执行命令:

solace(configure)# show compression

示例:

solace(configure)# show compression

压缩模式:optimize-for-size

工作队列深度
当前: 0
高水位标记: 2

错误计数
压缩: 0
解压缩: 0
  • “工作队列深度”反映了未完成的压缩/解压缩请求。“当前”反映了当前在队列中持有的请求数量。“高水位标记”反映了自上次通过clear compression stats特权执行命令清除统计信息以来,队列中持有的请求的最高数量。
  • 压缩/解压缩请求中的字节数在每个请求的基础上变化。

清除压缩统计锚

要清除当前的压缩统计信息,请输入以下特权执行命令:

solace# clear compression stats

当输入此命令时,所有压缩统计计数器将重置为0,并从这一点开始重新记录压缩统计信息。

显示服务

要查看事件代理使用的TCP监听端口,请输入以下用户执行命令:

solace(configure)# show service