{ "http_config": { "predict_ip": "127.0.0.1", "predict_port": "1025", "manage_ip": "127.0.0.1", "manage_port": "1026", "server_thread_num": 1, "client_thread_num": 1, "http_timeout_seconds": 10, "keep_alive_seconds": 180, "server_name": "MindIE-MS", "user_agent": "Coordinator/1.0" }, "request_limit": { "single_node_max_requests": 1000, "max_requests": 10000, "body_limit": 10 }, "metrics_config": { "enable": false, "trigger_size": 100 }, "prometheus_metrics_config": { "reuse_time": 3 }, "exception_config": { "max_retry": 5, "schedule_timeout": 60, "first_token_timeout": 60, "infer_timeout": 300, "tokenizer_timeout": 300 }, "log_info": { "log_level": "INFO", "to_file": true, "to_stdout": true, "run_log_path": "./logs/ms_coordinator_run_log.txt", "operation_log_path": "./logs/ms_coordinator_operation_log.txt", "max_log_str_size": 4096, "max_log_file_size": 20, "max_log_file_num": 10 }, "digs_scheduler_config": { "deploy_mode": "pd_separate", "scheduler_type": "digs_scheduler", "algorithm_type": "load_balance", "cache_size": "100", "slots_thresh": "0.05", "block_thresh": "0.05", "max_schedule_count": "10000", "reordering_type": "1", "max_res_num": "5000" }, "tls_config": { "controller_server_tls_enable": true, "controller_server_tls_items": { "ca_cert" : "./security/controller/security/certs/ca.pem", "tls_cert": "./security/controller/security/certs/cert.pem", "tls_key": "./security/controller/security/keys/cert.key.pem", "tls_passwd": "./security/controller/security/pass/key_pwd.txt", "kmcKsfMaster": "./security/controller/tools/pmt/master/ksfa", "kmcKsfStandby": "./security/controller/tools/pmt/standby/ksfb", "tls_crl": "" }, "request_server_tls_enable": true, "request_server_tls_items": { "ca_cert" : "./security/request/security/certs/ca.pem", "tls_cert": "./security/request/security/certs/cert.pem", "tls_key": "./security/request/security/keys/cert.key.pem", "tls_passwd": "./security/request/security/pass/key_pwd.txt", "kmcKsfMaster": "./security/request/tools/pmt/master/ksfa", "kmcKsfStandby": "./security/request/tools/pmt/standby/ksfb", "tls_crl": "" }, "mindie_client_tls_enable": true, "mindie_client_tls_items": { "ca_cert" : "./security/mindie/security/certs/ca.pem", "tls_cert": "./security/mindie/security/certs/cert.pem", "tls_key": "./security/mindie/security/keys/cert.key.pem", "tls_passwd": "./security/mindie/security/pass/key_pwd.txt", "kmcKsfMaster": "./security/mindie/tools/pmt/master/ksfa", "kmcKsfStandby": "./security/mindie/tools/pmt/standby/ksfb", "tls_crl": "" }, "mindie_mangment_tls_enable": true, "mindie_mangment_tls_items": { "ca_cert" : "./security/mindie_mgmt/security/certs/ca.pem", "tls_cert": "./security/mindie_mgmt/security/certs/cert.pem", "tls_key": "./security/mindie_mgmt/security/keys/cert.key.pem", "tls_passwd": "./security/mindie_mgmt/security/pass/key_pwd.txt", "kmcKsfMaster": "./security/mindie_mgmt/tools/pmt/master/ksfa", "kmcKsfStandby": "./security/mindie_mgmt/tools/pmt/standby/ksfb", "tls_crl": "" } } }
ms_coordinator.json配置文件中各个字段解释如表1所示,用户可根据具体场景进行配置。
参数名称 |
支持特性 |
取值范围 |
配置说明 |
---|---|---|---|
http_config:通信配置 |
|||
predict_ip |
PD分离 Prefix Cache(单机) |
- |
必填;默认值为"127.0.0.1" 推理IP。 用户侧接口的侦听IP。 |
predict_port |
PD分离 Prefix Cache(单机) |
[1024,65535] |
必填;默认值为"1025"。 推理端口。 用户侧接口的侦听端口。 |
manage_ip |
PD分离 Prefix Cache(单机) |
- |
必填;默认值为"127.0.0.1"。 管理IP 集群内通信接口的侦听IP。 |
manage_port |
PD分离 Prefix Cache(单机) |
[1024,65535] |
必填;默认值为"1026"。 管理端口。 集群内通信接口的侦听端口。 |
server_thread_num |
PD分离 Prefix Cache(单机) |
[1,10000] |
必填;默认值为1。 HTTP Server线程池数量;建议不超出系统最大线程数的1/4。 |
client_thread_num |
PD分离 Prefix Cache(单机) |
[1,10000] |
必填;默认值为1。 HTTP Client线程池数量;建议不超出系统最大线程数的1/4。 |
http_timeout_seconds |
PD分离 Prefix Cache(单机) |
[0,600],单位秒。 |
必填;默认值为10秒。0表示立即触发超时。 HTTP通信超时时间。 |
keep_alive_seconds |
PD分离 |
[0,3600],单位秒。 |
必填;默认值为180秒。0表示关闭长链接的保活检查。 长链接的保活检查时间。保活检查时间内无消息,将关闭长链接。 说明:
建议用户配置该值大于0,防止调度器被Dos攻击。 |
server_name |
PD分离 Prefix Cache(单机) |
- |
必填;默认值为MindIE-MS。 服务器名称。 |
user_agent |
PD分离 Prefix Cache(单机) |
- |
必填;默认值为Coordinator/1.0。 软件版本号。 |
request_limit:请求限制 |
|||
single_node_max_requests |
PD分离 Prefix Cache(单机) |
[1,2000] |
必填;默认值为1000。 单个MindIE Server节点可处理的最大请求数量;该参数配置的值不能超过MindIE Server能支持的最大限制。 如设置环境变量MINDIE_MS_COORDINATOR_CONFIG_SINGLE_NODE_MAX_REQ,则优先读取环境变量的值。 |
max_requests |
PD分离 Prefix Cache(单机) |
[1,90000] |
必填;默认值为10000。 可处理的最大请求数量。
如设置环境变量MINDIE_MS_COORDINATOR_CONFIG_MAX_REQ,则优先读取环境变量的值。 说明:
|
body_limit |
PD分离 Prdfix Cache(单机) |
[1, 20],单位MB。 |
必填;默认值为10。 单条请求消息体的字节数上限。如果请求消息体大小超过该值,请求将发送失败。 |
metrics_config:性能统计 |
|||
enable |
PD分离 Prefix Cache(单机) |
|
必填;默认值为false。 是否开启性能统计。 该参数的功能为辅助定位问题,打开此功能有可能影响业务性能,建议用户在正常业务场景下关闭此功能。 |
trigger_size |
PD分离 Prefix Cache(单机) |
[1,10000] |
必填;当enable为true时有效。默认值为100。 触发性能统计的请求数。 |
prometheus_metrics_config:服务化监控指标 |
|||
reuse_time |
PD分离 Prefix Cache(单机) |
[1,100],单位秒。 |
必填;默认值为3。 监控指标查询接口使用。如果距离上一轮查询时间小于reuse_time,则复用上一轮监控指标的时间;复用结果的查询不会刷新上一轮查询时间。 |
exception_config:异常配置 |
|||
max_retry |
PD分离 Prefix Cache(单机) |
[0,10] |
必填;默认值为5。 通信异常最大重试次数。 |
schedule_timeout |
PD分离 Prefix Cache(单机) |
[0,3600],单位秒。 |
必填;默认值为60;0表示关闭调度的超时检查。 调度超时时间,请求在调度超时时间内没完成调度,将向用户返回错误。 |
first_token_timeout |
PD分离 Prefix Cache(单机) |
[0,3600],单位秒。 |
必填;默认值为60;0表示关闭首token的超时检查。 首token超时时间,请求在首token的超时时间内没完成首token推理,将向用户返回错误。 |
infer_timeout |
PD分离 Prefix Cache(单机) |
[0,3600],单位秒。 |
必填;默认值为300;0表示关闭推理的超时检查。 请求推理的超时时间,请求在推理的超时时间内没完成全部推理,将向用户返回错误。 |
tokenizer_timeout |
PD分离 |
[0,3600],单位秒。 |
必填;默认值为300;0表示关闭计算token的超时检查。 计算token的超时时间,请求在计算token的超时时间内没完成tokenizer任务,将向用户返回错误。 |
log_info:日志配置 |
|||
log_level |
PD分离 Prefix Cache(单机) |
|
必填;默认值为INFO。 设置日志级别。 如设置环境变量MINDIE_LOG_LEVEL或MINDIEMS_LOG_LEVEL,则优先读取环境变量的值。 说明:
业务性能受参数影响较大,参数配置为ERROR时性能最佳,配置为DEBUG时性能最差,两者性能相差十倍左右。 |
to_file |
PD分离 Prefix Cache(单机) |
|
必填;默认值为true。 是否输出到文件。 如设置环境变量MINDIE_LOG_TO_FILE,则优先读取环境变量的值。 |
to_stdout |
PD分离 Prefix Cache(单机) |
|
必填;默认值为true。 是否输出到标准输出流。 如设置环境变量MINDIE_LOG_TO_STDOUT,则优先读取环境变量的值。 |
run_log_path |
PD分离 Prefix Cache(单机) |
- |
必填,当to_file为true时生效。 运行日志路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。 |
operation_log_path |
PD分离 Prefix Cache(单机) |
- |
必填,当to_file为true时生效。 审计日志路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。 |
max_log_str_size |
PD分离 Prefix Cache(单机) |
[128,4096] |
必填;默认值为4096。 单条日志最大长度。 |
max_log_file_size |
PD分离 Prefix Cache(单机) |
[1,100],单位MB。 |
必填;默认值为20。 单个日志文件存储上限。 |
max_log_file_num |
PD分离 Prefix Cache(单机) |
[2,64] |
必填;默认值为10。 最大日志文件存储数量。 |
digs_scheduler_config:调度器配置 |
|||
deploy_mode |
PD分离 Prefix Cache(单机) |
必填;默认值为"pd_separate"。 部署模式。 |
|
scheduler_type |
PD分离 Prefix Cache(单机) |
必填;默认值为"digs_scheduler"。 调度器类型。
|
|
algorithm_type |
PD分离 Prefix Cache(单机) |
必填;默认值为"load_balance"。 调度算法。
|
|
cache_size |
Prefix Cache(单机) |
["1", "10000"] |
algorithm_type为"cache_affinity"时必填;默认值为"100"。 Cache缓存上限 。(仅支持Prefix Cache算法) |
slots_thresh |
Prefix Cache(单机) |
["0.0", "1.0"] |
algorithm_type为"cache_affinity"时必填;默认值为"0.05"。 可用slot占总slot的比例,slots资源预警线 。(仅支持Prefix Cache算法) |
block_thresh |
Prefix Cache(单机) |
["0.0", "1.0"] |
algorithm_type为"cache_affinity"时必填;默认值为"0.05"。 可用block占总block的比例,block 资源预警线。 (仅支持Prefix Cache算法) |
max_schedule_count |
PD分离 |
["1", "90000"] |
scheduler_type为"digs_scheduler"时必填;默认值为"10000"。 可以同时调度的最大请求数量,建议与max_requests保持一致。(仅支持PD分离负载均衡算法) |
reordering_type |
PD分离 |
|
scheduler_type为"digs_scheduler"时必填;默认值为"1"。 |
max_res_num |
PD分离 |
["1", "10000"] |
scheduler_type为"digs_scheduler"时必填;默认值为"5000"。 调度器可注册的最大节点数量。 |
tls_config:证书配置 |
|||
调度器(Coordinator)的管理端口通信证书配置 |
|||
controller_server_tls_enable |
PD分离 Prefix Cache(单机) |
与MindIE MS Coordinator管理端口的通信,是否开启tls校验。 建议用户打开,确保控制器(Controller)或用户与管理端口通信安全。如果关闭则存在较高的网络安全风险。 |
必填;默认值为true。 |
ca_cert |
PD分离 Prefix Cache(单机) |
ca根证书路径。 |
开启tls校验时必填。 |
tls_cert |
PD分离 Prefix Cache(单机) |
tls证书路径。 |
开启tls校验时必填。 |
tls_key |
PD分离 Prefix Cache(单机) |
经口令加密的tls私钥证书路径。 |
开启tls校验时必填。 |
tls_passwd |
PD分离 Prefix Cache(单机) |
加密tls私钥证书的口令,经KMC加密后,写入的密文路径。 |
开启tls校验时必填。 |
kmcKsfMaster |
PD分离 Prefix Cache(单机) |
KMC加密的根密钥路径。 |
开启tls校验时必填。 |
kmcKsfStandby |
PD分离 Prefix Cache(单机) |
KMC加密的工作密钥路径。 |
开启tls校验时必填。 |
tls_crl |
PD分离 Prefix Cache(单机) |
吊销的证书列表路径。 |
开启tls校验时必填。 证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。 |
调度器(Coordinator)的数据端口与用户的通信证书配置 |
|||
request_server_tls_enable |
PD分离 Prefix Cache(单机) |
接受推理请求的输入,通信是否开启tls校验。 建议用户打开,确保与推理用户的通信安全。如果关闭则存在较高的网络安全风险。 |
必填;默认值为true。 |
ca_cert |
PD分离 Prefix Cache(单机) |
ca根证书路径。 |
开启tls校验时必填。 |
tls_cert |
PD分离 Prefix Cache(单机) |
tls证书路径。 |
开启tls校验时必填。 |
tls_key |
PD分离 Prefix Cache(单机) |
经口令加密的tls私钥证书路径。 |
开启tls校验时必填。 |
tls_passwd |
PD分离 Prefix Cache(单机) |
加密tls私钥证书的口令,经KMC加密后,写入的密文路径。 |
开启tls校验时必填。 |
kmcKsfMaster |
PD分离 Prefix Cache(单机) |
KMC加密的根密钥路径。 |
开启tls校验时必填。 |
kmcKsfStandby |
PD分离 Prefix Cache(单机) |
KMC加密的工作密钥路径。 |
开启tls校验时必填。 |
tls_crl |
PD分离 Prefix Cache(单机) |
吊销的证书列表路径。 |
开启tls校验时必填。 证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。 |
调度器(Coordinator)与MindIE-Server数据端口的通信证书配置 |
|||
mindie_client_tls_enable |
PD分离 Prefix Cache(单机) |
与MindIE Server的通信,是否开启tls校验。 建议用户打开,确保与MindIE Server的通信安全。如果关闭则存在较高的网络安全风险。 |
必填;默认值为true。 |
ca_cert |
PD分离 Prefix Cache(单机) |
ca根证书路径。 |
开启tls校验时必填。 |
tls_cert |
PD分离 Prefix Cache(单机) |
tls证书路径。 |
开启tls校验时必填。 |
tls_key |
PD分离 Prefix Cache(单机) |
经口令加密的tls私钥证书路径。 |
开启tls校验时必填。 |
tls_passwd |
PD分离 Prefix Cache(单机) |
加密tls私钥证书的口令,经KMC加密后,写入的密文路径。 |
开启tls校验时必填。 |
kmcKsfMaster |
PD分离 Prefix Cache(单机) |
KMC加密的根密钥路径。 |
开启tls校验时必填。 |
kmcKsfStandby |
PD分离 Prefix Cache(单机) |
KMC加密的工作密钥路径。 |
开启tls校验时必填。 |
tls_crl |
PD分离 Prefix Cache(单机) |
吊销的证书列表路径。 |
开启tls校验时必填。 证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。 |
调度器(Coordinator)与MindIE-Server管理端口的通信证书配置 |
|||
mindie_mangment_tls_enable |
PD分离 Prefix Cache(单机) |
接受用户查询服务化监控指标的通信,是否开启tls校验。 建议用户打开,确保与监控指标用户的通信安全。如果关闭则存在较高的网络安全风险。 |
必填;默认值为true。 |
ca_cert |
PD分离 Prefix Cache(单机) |
ca根证书路径。 |
开启tls校验时必填。 |
tls_cert |
PD分离 Prefix Cache(单机) |
tls证书路径。 |
开启tls校验时必填。 |
tls_key |
PD分离 Prefix Cache(单机) |
经口令加密的tls私钥证书路径。 |
开启tls校验时必填。 |
tls_passwd |
PD分离 Prefix Cache(单机) |
加密tls私钥证书的口令,经KMC加密后,写入的密文路径。 |
开启tls校验时必填。 |
kmcKsfMaster |
PD分离 Prefix Cache(单机) |
KMC加密的根密钥路径。 |
开启tls校验时必填。 |
kmcKsfStandby |
PD分离 Prefix Cache(单机) |
KMC加密的工作密钥路径。 |
开启tls校验时必填。 |
tls_crl |
PD分离 Prefix Cache(单机) |
吊销的证书列表路径。 |
开启tls校验时必填。 证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。 |
当前调度器(Coordinator)支持的环境变量如下所示。
环境变量名称 |
含义 |
---|---|
MINDIE_MS_COORDINATOR_CONFIG_FILE_PATH |
ms_coordinator配置文件的读取路径。 |
MINDIE_MS_COORDINATOR_CONFIG_SINGLE_NODE_MAX_REQ |
单个节点可处理的最大请求数量。 |
MINDIE_MS_COORDINATOR_CONFIG_MAX_REQ |
可处理的最大请求数量。 |
MINDIEMS_LOG_LEVEL |
说明:
优先使用MINDIE_LOG_LEVEL设置日志等级,当前保留MINDIEMS_LOG_LEVEL是为了兼容旧版本配置方式。 若MINDIE_LOG_LEVEL设置为空则使用MINDIEMS_LOG_LEVEL。 用户可动态设置MindIE MS客户端输出的日志等级。 默认值为空,环境变量的优先级高于表1中log_level参数。日志级别如下所示:
|
MINDIE_LOG_LEVEL |
默认值为空。统一设置MindIE各组件日志级别。如果设置环境变量,将覆盖表1中log_level参数。详情请参见日志配置。 |
MINDIE_LOG_TO_FILE |
默认值为空。统一设置MindIE各组件日志是否写入文件。如果设置环境变量,将覆盖表1中to_file参数。详情请参见日志配置。 |
MINDIE_LOG_TO_STDOUT |
默认值为空。统一设置MindIE各组件日志是否打屏。如果设置环境变量,将覆盖表1中to_stdout参数。详情请参见日志配置。 |
MINDIE_LOG_VERBOSE |
默认值为空。统一设置MindIE各组件日志中是否加入可选日志内容。完整调试日志格式:[date time] ([pid] [tid] [组件名称] [大写日志级别] [file:line]) : [error code] [子组件名称] log message,()内为可选内容。详情请参见日志配置。 |
MINDIE_CHECK_INPUTFILES_PERMISSION |
用户可设置是否需要检查外部挂载文件,具体包括ms_coordinator.json以及证书相关文件。默认值为空,表示需要做权限校验。
说明:
当用户使用MINDIE_MS_COORDINATOR_CONFIG_FILE_PATH设置配置文件路径时,ms_coordinator.json为外部挂载文件。 |
HSECEASY_PATH |
默认值为空。设置KMC解密工具的依赖库路径。开启tls校验时必须设置。 |