Unity Cache Server 安装
文章目录
更新
- 2022/07/07 更新 Unity Accelerator 安装方法 Unity Accelerator 安装 - 狂飙
- 2019/04/10 增加定时重启任务以解决内存泄露
- 2019/03/28 更新 Unity Cache Server 版本到 v6.3.0
- 2019/01/06 初次发布
介绍
Unity 在 2018/03/20 时推出了新版本的 Unity Cache Server 6.0:
Cache Server 6.0 Release and Retrospective: Optimizing Import – Unity Blog
新版本特性
- 现代化 - 减少同步阻塞调用,使用现代化的库
- 集群 - 实现 Node.js 集群,通过配置运行不相关的进程
- 缓存 - 尝试在写入 socket 时使用缓存以消除 socket 停顿
- 缓存中的缓存 - 实现内存缓存以减少文件 IO
从发布时使用到现在,半年多,没有遇到大的问题。上个月正好 Unity 2018.3 发布,直接将 Unity Cache Server 升级到了最新版本 6.2.3。
6.2.3 相对于刚发布的版本 6.0,稳定性、性能已经提升了很多,强烈推荐升级。
环境
- Unity 2018.3.0f2
- Unity Cache Server 6.2.3
- CentOS 7.6 1810
- NodeJS 8.15.0
- NPM 6.4.1
截止到 2019/01/06 时都为最新版本。
注意:v6.2.5 这个版本包含内存占用过高的重大 Bug 修复:Reduced high memory usage in worker processes (#95)
因此强烈建议升级到比这个版本更高的版本。
内存占用过高会导致整个机器都无法使用,这篇文章介绍了此 Bug 的威力:修复 Jira 无法访问 - 狂飙
安装
NodeJS
distributions/README.md at master · nodesource/distributions
|
|
Unity Cache Server
更新日志:Releases · Unity-Technologies/unity-cache-server
NodeJS 安装后自带 NPM 包管理器。
注意:虽然现在最新的 NodeJS LTS 是 10,但是 Unity Cache Server 要求使用 NodeJS 8 LTS 版本。
|
|
配置
Unity Cache Server
|
|
修改配置
|
|
进程数
建议修改进程数为 1 个以上,能更有效地提升速度。
在 options:
下面增加 workers: 5
,注意这是 Yaml 文件,使用空格进行缩进,workers
前面有 4 个空格。
缓存路径
Cache.options.cache_fs.cachePath
必须使用绝对路径,需要将值从 .cache_fs
改为 /opt/unity-cache-server/.cache_fs
。
如果未使用绝对路径,启动服务时不会提示任何错误直接退出。
服务
增加专用用户
|
|
配置服务文件
|
|
服务文件内容:
|
|
运行控制
开机自启动、运行与状态
|
|
检查运行日志
运行以下命令可以以 tail 方式持续实时地显示日志,使用 Ctrl+C 退出:
|
|
停止服务
|
|
防火墙
需要将默认端口 8126 放到允许列表中:
|
|
定时重启
虽然 v6.2.5 版本的更新日志中说明修复了占用内存过高的 Bug,但是 v6.3.0 版本在使用的时候依然会出现内存占用过高的问题,由于 Unity Cache Server 并不需要连续运行,而且就算是 Unity 在使用时重启也只会导致当前资源下载失败,然后 Unity 会重新导入资源。
由于 Unity Cache Server 内存泄露导致的问题可以前往 [修复 Jira 无法访问
- 狂飙](/2019/03/28/fix-jira-cannot-work/)
|
|
使用 cron 定时任务在 00:30 重启服务器,之后每隔 6 小时重启一次。选择这个时间主要是考虑到中午休息的时候并不会有很多人在用,一天 4 次的频率也是考虑到内存增长的实际情况,如果超过 6 小时不清理一次可能内存就占用就会涨得太多了。
测试
Unity/Edit/Preferences/Cache Server
Cache Server Mode
选择Remote
- 在
IP Address
框中输入服务器 IP - 点击
Check Connection
按钮测试
成功的话会显示 Connection successful.
。
清理
需要手动清理,执行以下脚本删除 180 天或超过 200GiB 的文件。
|
|
升级
|
|
文章作者 狂飙
初次发布 2019-01-06 23:47:08 +0800
上次更新 2019-04-10 23:47:08 +0800
永久链接 https://networm.me/2019/01/06/unity-cache-server-setup/