配置说明

ms_coordinator.json启动配置文件

ms_coordinator.json启动配置文件样例如下所示,参数解释请参见ms_coordinator.json启动配置文件参数解释
{
    "http_config": {
        "allow_all_zero_ip_listening": false,        
        "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",
        "res_limit_rate": "1.1",
        "select_type": "1"                        
    },
    "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启动配置文件参数解释

ms_coordinator.json配置文件中各个字段解释如表1所示,用户可根据具体场景进行配置。

表1 ms_coordinator.json启动配置文件参数说明

参数名称

支持特性

取值范围

配置说明

http_config:通信配置

allow_all_zero_ip_listening

PD分离

Prefix Cache(单机)

  • true:允许全零侦听。
  • false:禁止全零侦听。

必填;默认值为false。

是否允许全零侦听,在取值为false状态下,如果使用全零侦听将导致程序运行失败并报。

说明:

全零侦听会导致三面隔离失效,不满足安全配置要求,故默认禁止绑定IP地址为0.0.0.0。若仍需绑定IP地址为0.0.0.0,那么在保证安全前提下,需要将该参数设置为true。

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。

可处理的最大请求数量。

  • PD分离场景:建议single_node_max_requests * P节点数量 + 1000左右余量。
  • PD混部场景:建议single_node_max_requests * 节点数量 + 1000左右余量。

如设置环境变量MINDIE_MS_COORDINATOR_CONFIG_MAX_REQ,则优先读取环境变量的值。

说明:
  • 当请求数超过该值,请求会被拒绝。
  • 调度器允许最大的外部链接数为3 * max_requests。超过链接上限后,调度器不再允许被外部连接,防止Dos攻击。

body_limit

PD分离

Prdfix Cache(单机)

[1, 20],单位MB。

必填;默认值为10。

单条请求消息体的字节数上限。如果请求消息体大小超过该值,请求将发送失败。

metrics_config:性能统计

enable

PD分离

Prefix Cache(单机)

  • true:开启。
  • false:关闭。

必填;默认值为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:日志配置(该字段以及子参数预计在2025年6月日落, 建议使用环境变量配置日志,详情请参见日志配置

log_level

PD分离

Prefix Cache(单机)

  • CRITICAL
  • ERROR
  • WARN
  • INFO
  • DEBUG

可选;默认值为INFO。

设置日志级别。

如设置环境变量MINDIE_LOG_LEVEL或MINDIEMS_LOG_LEVEL,则优先读取环境变量的值。

说明:

业务性能受参数影响较大,参数配置为ERROR时性能最佳,配置为DEBUG时性能最差,两者性能相差十倍左右。

to_file

PD分离

Prefix Cache(单机)

  • true:输出到文件。
  • false:不输出到文件。

可选;默认值为true。

是否输出到文件。

如设置环境变量MINDIE_LOG_TO_FILE,则优先读取环境变量的值。

to_stdout

PD分离

Prefix Cache(单机)

  • true:输出到标准输出流。
  • false:不输出到标准输出流。

可选;默认值为false。

是否输出到标准输出流。

如设置环境变量MINDIE_LOG_TO_STDOUT,则优先读取环境变量的值。

run_log_path

PD分离

Prefix Cache(单机)

-

可选。默认路径与MINDIE_LOG_PATH环境变量的默认路径相同, 具体请参考日志配置章节。如设置环境变量MINDIE_LOG_PATH,则优先读取环境变量的值。当to_file为true时生效。

运行日志路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。

operation_log_path

PD分离

Prefix Cache(单机)

-

可选。默认路径与MINDIE_LOG_PATH环境变量的默认路径相同, 具体请参考日志配置章节。如设置环境变量MINDIE_LOG_PATH,则优先读取环境变量的值。当to_file为true时生效。

审计日志路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。

max_log_str_size

PD分离

Prefix Cache(单机)

[128,65535]

可选;默认值为4096。

单条日志最大长度。

max_log_file_size

PD分离

Prefix Cache(单机)

[1,500],单位MB。

可选;默认值为20。

单个日志文件存储上限。如设置环境变量MINDIE_LOG_ROTATE,则优先读取环境变量的值。

max_log_file_num

PD分离

Prefix Cache(单机)

[1,64]

可选;默认值为10。

最大日志文件存储数量。如设置环境变量MINDIE_LOG_ROTATE,则优先读取环境变量的值。

digs_scheduler_config:调度器配置

deploy_mode

PD分离

Prefix Cache(单机)

  • PD分离:

    pd_separate或pd_disaggregation:多机PD分离模式部署;

    pd_disaggregation_single_container:单机PD分离部署;

  • Prefix Cache(单机)

    single_node:单机部署模式。

必填;默认值为"pd_separate"。

部署模式。

scheduler_type

PD分离

Prefix Cache(单机)

  • PD分离:

    digs_scheduler:digs调度器;

  • Prefix Cache(单机)

    default_scheduler:默认调度器。

必填;默认值为"digs_scheduler"。

调度器类型。

  • deploy_mode为"pd_separate"时,此值必须为"digs_scheduler";
  • deploy_mode为"single_node"时,此值必须为"default_scheduler"。

algorithm_type

PD分离

Prefix Cache(单机)

  • PD分离:

    load_balance:负载均衡;推理请求调度分配给资源较多的实例。

  • Prefix Cache(单机)

    cache_affinity:Cache亲和算法;OpenAI多轮会话场景下,推理请求调度给处理过历史轮次会话的实例。

必填;默认值为"load_balance"。

调度算法。

  • scheduler_type为"digs_scheduler"时,此值必须为"load_balance";
  • scheduler_type为"default_scheduler"时,此值必须为"cache_affinity"。

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分离

  • "1":fcfs,先到先调度;
  • "2":sjf,短序列先调度;
  • "3":ljf,长序列先调度。

scheduler_type为"digs_scheduler"时必填;默认值为"1"。

max_res_num

PD分离

["1", "10000"]

scheduler_type为"digs_scheduler"时必填;默认值为"5000"。

调度器可注册的最大节点数量。

res_limit_rate

PD分离

[0.0, 2000.0]

当"select_type"取值为"2"时,该参数才生效,表示请求占用资源总数/实际总资源比值上限。

select_type

PD分离

  • "1":简单负载均衡,无上限控制。
  • "2":带有资源上限控制的负载均衡。

表示具体使用的资源调度策略,默认值为"1"。

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文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。

  • 如果推理服务所在的计算节点的网络为跨公网和局域网,绑定0.0.0.0的IP地址可能导致网络隔离失效,存在较大安全风险。故该场景下默认禁止EndPoint的IP地址绑定为0.0.0.0。若用户仍需要使用0.0.0.0,请在环境具备全零侦听防护能力的前提下,通过设置配置项“allow_all_zero_ip_listening”为true手动打开允许配置0.0.0.0的IP地址开关,启用全零侦听的安全风险由用户自行承担。
  • 如果配置了相同的管理面和业务面的IP地址,会导致隔离失效。

环境变量

当前调度器(Coordinator)支持的环境变量如下所示。

表2 Coordinator支持的环境变量

环境变量名称

含义

MINDIE_MS_COORDINATOR_CONFIG_FILE_PATH

ms_coordinator配置文件的读取路径。

MINDIE_MS_COORDINATOR_CONFIG_SINGLE_NODE_MAX_REQ

单个节点可处理的最大请求数量。

MINDIE_MS_COORDINATOR_CONFIG_MAX_REQ

可处理的最大请求数量。

MINDIE_CHECK_INPUTFILES_PERMISSION

用户可设置是否需要检查外部挂载文件,具体包括ms_coordinator.json以及证书相关文件。默认值为空,表示需要做权限校验。

  • 0:对外部挂载文件不做权限校验。
  • 非0:对外部挂载文件做权限校验。
说明:

当用户使用MINDIE_MS_COORDINATOR_CONFIG_FILE_PATH设置配置文件路径时,ms_coordinator.json为外部挂载文件。

HSECEASY_PATH

默认值为空。设置KMC解密工具的依赖库路径。开启tls校验时必须设置。

注:日志相关环境变量详情请参见日志配置