本节讲述了Http Transport中各种参数的含义及设置。
# 基本信息》系统参数
HTTP Transport 系统参数设置过程及界面如下图所示:
首先,在{ESB Server}/server/EOS/_srv/startup.conf 中定义 port=80,如下图:
其次,在HTTP Transport 的基本信息中的端口选择“系统参数”,输入port,重启server,方可生效。
# 连接参数
HTTP Transport 连接参数设置界面如下图所示:
- 最大空闲时间: 连接的最大空闲时间。当连接超过该设定值时,将被强行回收。如果连接在该设定时间内,没有完成操作,也被强行回收。
- 连接器数 :连接器用来处理用户的请求。当一个请求到达时,某连接器读出该请求,然后将请求直接交予线程池处理。该设置为连接器的初始值。
- 最大连接数:HTTP Server能接收的最大连接数。当连接数达到该数值时,ESB Server服务器便会认为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回收
- 在用户请求量比较大的情况下,可以设置比较大的连接器数,该值为ESB Server启动后可以接收的用户请求数,如果该值使用达到饱和,会从线程池中申请,但需要对连接初始化,所以会消耗一定的时间,不能及时处理用户请求,当然该值的设置不能大于最大线程池数。
- 同样在高并发下,设置最大连接数相对较小的情况下,很快ESB Server便会认为Http server到达了低资源状态,会启动最大等待时间的超时设置,关闭不必要的连接,立即回收连接资源,这样大量的请求会造成资源的不断回收和申请,降低服务器性能。