本节讲述了Http Transport中各种参数的含义及设置。

# 基本信息》系统参数

HTTP Transport 系统参数设置过程及界面如下图所示:

首先,在{APIGateway ESBServer}/server/EOS/_srv/startup.conf 中定义 port=80,如下图:

WX20190314-092547@2x.png

其次,在HTTP Transport 的基本信息中的端口选择“系统参数”,输入port,重启server,方可生效。

WX20180426-130126@2x.png

# 连接参数

HTTP Transport 连接参数设置界面如下图所示:

worddav9a13ad0e63e98785cf07ad3e6d94cffe.png

  • 最大空闲时间: 连接的最大空闲时间。当连接超过该设定值时,将被强行回收。如果连接在该设定时间内,没有完成操作,也被强行回收。
  • 连接器数 :连接器用来处理用户的请求。当一个请求到达时,某连接器读出该请求,然后将请求直接交予线程池处理。该设置为连接器的初始值。
  • 最大连接数:HTTP Server能接收的最大连接数。当连接数达到该数值时,APIGateway ESBServer服务器便会认为Http Server达到低资源状态。
  • 最大等待时间: 当http Server达到低资源状态,即达到最大连接数时,服务器会根据该值关闭空闲的连接。
  • 最小线程数:线程池中最少线程数,该值不能大于最大线程数的值
  • 最大线程数:线程池中最大线程数,该值不能小于最小线程数的值

Http Transport中参数设置信规则如下:

属性名称 填写规则
最大空闲时间 范围从1000到300000,可以选择int型的变量或常量
连接器数 范围从2到100,可以选择int型的变量或常量
最大等待时间 范围从100到10000,可以选择int型的变量或常量
最大连接数 范围从2到200,可以选择int型的变量或常量
最小线程数 范围从1到80,可以选择int型的变量或常量
最大线程数 范围从1到200,可以选择int型的变量或常量

# 调优最佳实践

  • 如果用户请求的业务时间比较长,可以设置比较大的大空闲时间,这样长时间的连接便不会被ESB回收
  • 在用户请求量比较大的情况下,可以设置比较大的连接器数,该值为APIGateway ESBServer启动后可以接收的用户请求数,如果该值使用达到饱和,会从线程池中申请,但需要对连接初始化,所以会消耗一定的时间,不能及时处理用户请求,当然该值的设置不能大于最大线程池数。
  • 同样在高并发下,设置最大连接数相对较小的情况下,很快APIGateway ESBServer便会认为Http server到达了低资源状态,会启动最大等待时间的超时设置,关闭不必要的连接,立即回收连接资源,这样大量的请求会造成资源的不断回收和申请,降低服务器性能。