产品系统边界主要是为了找到能标识我们系统在一定计算资源情况下的处理能力的极限。
将这些边界参数暴露在产品中方便管理员管控,我们也会根据用户的计算资源推荐默认合理的配置。能解决的部分常见异常场景:
使用BI过程中,突然出现系统不可用,报错502或者504,且用户无法登陆;
卡片页面加载慢,大量报错socket hang up,查看任务管理界面发现任务大量排队;
数据集更新运行了好几个小时,抽不到数也不会失败,导致其他数据集没办法更新;
大数据量卡片编辑时加载特别慢。
管理员设置-运维管理-参数配置(BI版本不同,这里的参数配置可能会有差别,如发现没有上面的参数但是需要用到,可联系观远进行版本升级~)

① ETL调度任务并行数:定时和级联(勾选的数据集更新后)更新触发的ETL任务的并行数,范围1~20,注意只在单域环境下可配置,多域环境无此配置;
② 任务最大运行时长(分):单个ETL任务的最大运行时长,超出后任务将被中断,范围5~120分钟,新版本(4.7.0及以上)支持特殊时段的支持;

③ 最大支持节点数:达到阈值后将无法拖入新的算子节点,范围10~200;
④ 最大支持“关联数据”节点数:达到阈值后将无法拖入新的“关联数据”节点,范围1~50;
⑤ 最大支持“SQL输入”节点数:达到阈值后将无法拖入新的“SQL输入”节点,范围1~50;
⑥ 最大支持“行拼接”节点数:达到阈值后将无法拖入新的“关联数据”节点,范围1~50;
⑦ 最大输出数据集个数:达到阈值后将无法拖入新的“输出数据集”节点,范围1~20;
上面③~⑦对导入的ETL不做判断。决定ETL运行需要耗用多少资源的主要因素有:节点数、“关联数据”节点数、“SQL输入”节点数和输出数据集个数。数据量大的情况下,多一个“关联数据”、“SQL输入”或者输出数据集,需要耗用的资源都会大幅增长甚至翻倍。这样服务器CPU、内存、磁盘任一项资源使用率太高(阈值一般为90%)都会导致系统宕机或者重启,这样其他正在排队或者运行的任务都会失败或被取消,影响极大。所以需要根据自己系统使用状况调整这些参数。
① Spark单job超时时间(分):Spark单个Job的最大运行时长,超出后任务将被中断,范围5~120min
PS:spark job可以是etl也可以是卡片,一个etl的运行或者一个卡片的查询,根据不同情况可能会由多个spark job组成。
① 非直连卡片运行超时时长(秒):仅作用于Guan-Index类型的卡片,运行时长不包含排队时间,实际运行超时后将自动失败,范围1~600sec;
② 编辑非直连卡片时支持自动刷新的数据集行数上限(万):达到阈值后,卡片编辑页无法打开自动刷新,提示如下;

③ 编辑直连卡片时支持自动刷新的数据集行数上限(万):达到阈值后,卡片编辑页无法打开自动刷新,提示如②;
④ 卡片排队超时取消时长(秒):达到阈值后,卡片排队任务将被取消,范围1~600。
直连数据集更新时不主动更新行数:直连数据库情况下,数据集更新后数据集行数可以支持不自动更新,减少不必要的数据库查询,启用/未启用。
① 单个数据库连接池上限(账户):单个数据库的连接池上线,超过将无法连接,范围:1~999;设置该参数可以部分缓解数据集因为连接池满而导致数据集更新失败的现象,
② 数据库连接超时(Socket timeout)(分):抽取数据时连接数据库的Socket-timeout。设置该参数后,抽取数据集更新时,超过该时间后依然没有连接到数据库的话,数据集更新任务会自动取消。可以帮助缓解数据集更新时间过长,抽取不到数据的现象,防止任务堆积。