目录

09 Linux 现状与运维

先说结论

截至 2026-06-05,官方 Compute 指南已经包含 Linux Server 入门文档,但该页面明确标注 RhinoCompute on Linux 属于 Rhino WIP,不建议用于生产工作。

因此教学中建议这样定位:

Linux 支持范围

官方 Linux 入门文档提到的系统包括:

官方也说明仍在处理的事项包括:

Linux 安装概念流程

概念上分为:

  1. 安装 .NET 依赖。
  2. 添加 McNeel 软件源。
  3. 安装 rhino-compute 包。
  4. 配置 RHINO_TOKENRHINO_COMPUTE_KEY
  5. 使用 systemd 启动服务。
  6. 用 Hops 或客户端调用 Linux Compute。

服务命令示例:

sudo systemctl start rhino-compute
sudo systemctl stop rhino-compute
sudo systemctl enable rhino-compute
sudo systemctl status rhino-compute
sudo journalctl -u rhino-compute -f

Linux 日志目录:

/var/log/rhino-compute

容器方式的限制

官方文档说明容器适合入门,但不建议生产使用。核心原因是容器通常缺少标准 systemd 服务管理,不适合作为需要随系统重启、受服务管理器托管的长期 Compute 服务。

容器适合:

容器不适合:

运维指标

无论 Windows 还是 Linux,运维上都应关注:

指标 说明
请求量 每分钟请求数、峰值请求数。
成功率 2xx/4xx/5xx 比例。
延迟 平均、P95、P99,区分冷启动和热启动。
子进程数量 当前 active children、启动失败次数、异常退出次数。
内存 Rhino/Grasshopper/插件很容易成为内存瓶颈。
请求体大小 大 DataTree 或大几何会增加序列化和内存压力。
超时次数 区分客户端超时和服务端超时。
授权状态 RHINO_TOKEN 有效性、核心小时用量。

日志策略

建议为每个业务请求生成 request id,并在外层服务日志中记录:

Compute 自身日志通常记录进程、加载、异常和请求状态。外层业务日志和 Compute 日志结合,才能定位“是业务输入错了、网络错了、Compute 子进程错了、还是 Grasshopper 定义错了”。

容量规划

容量规划不要只看 CPU 核心数。还要测:

经验做法:

发布流程建议

  1. 在测试机安装同版本 Rhino、Compute、插件。
  2. 用代表性 GH 定义和自定义端点跑回归。
  3. 检查授权、日志、API Key、请求体限制、超时。
  4. 在维护窗口更新生产。
  5. 更新后先跑 smoke test。
  6. 观察日志和核心小时用量。

本章检查点

参考资料