
Flare
适用于1.12.2的性能分析套件,包含并改进了Spark。
源自 spark;flare 是面向 1.12.2 Forge 与 Cleanroom 环境的性能分析器和调试器。
flare 能做什么?
flare 由以下独立组件构成:
- CPU 分析器:诊断性能问题。
- 内存检查:诊断内存问题。
- 服务器健康报告:持续跟踪服务器整体健康状况。
✨ CPU 分析器
flare 的分析器可用于诊断性能问题:“卡顿”、低 tick 速率、高 CPU 占用等。
它具有以下特点:
- 轻量 - 可在生产环境中运行,影响极小。
- 易于使用 - 无需配置或设置,只需安装插件/模组。
- 快速产生结果 - 仅运行约 30 秒就足以对性能问题区域产生有用的见解。
- 可自定义 - 可调优以针对特定线程、以特定间隔采样、仅记录“卡顿”时段等。
- 高度可读 - 简单的树状结构便于分析和解读。查看器还可以应用反混淆映射。
它的工作原理是对系统活动的统计数据进行采样,并基于这些数据构建调用图。然后,调用图会显示在在线查看器中,供用户进一步分析。
有两种不同的分析器引擎:
- 原生
AsyncGetCallTrace+perf_events- 使用 async-profiler(仅在 Linux x86_64 系统上可用) - 内置 Java
ThreadMXBean- sk89q 所开发流行的 WarmRoast 分析器的改进版本。
✨ 内存检查
flare 包含许多可用于诊断服务器内存问题的工具。
- 堆摘要 - 获取并分析服务器内存的基本快照
- JVM 堆的简单视图,可查看每个类的内存使用量和实例数量
- 并不打算完全替代正规的内存分析工具。(见下一项)
- 堆转储 - 获取服务器内存的完整(HPROF)快照
- 转储(并可选压缩)JVM 堆的完整快照。
- 随后可使用常规分析工具检查此快照。
- GC 监控 - 监控服务器上的垃圾回收活动
- 允许用户将 GC 活动与游戏服务器卡顿关联起来,并轻松查看它们耗费了多长时间以及释放了多少内存。
- 观察新生代/老年代垃圾回收的频率/持续时间,以决定应使用哪些 GC 调优标志
✨ 服务器健康报告
flare 可以报告许多概括服务器整体健康状况的指标。
这些指标包括:
- TPS - 每秒 tick 数,比 /tps 命令所指示的更为精确
- Tick 持续时间 - 每个 tick 花费的时间(最小值、最大值和平均值)
- CPU 使用率 - 进程以及整个系统占用了多少 CPU
- 内存使用量 - 进程占用了多少内存
- 磁盘使用量 - 系统有多少可用/已使用磁盘空间
除了提供 tick 速率平均值外,flare 还可以监控单个 tick - 每当单个 tick 的持续时间超过某个阈值时发送报告。这可用于识别性能问题的趋势和性质,并与其他系统或游戏事件相关联。
关于 flare、WarmRoast、Minecraft timings 和其他分析器之间的比较,请参见原始 spark 文档中的这个页面。
我该如何使用 flare?
flare 使用 Minecraft 的命令系统,让最终用户充分发挥 flare 的潜力。
许可证
flare 是自由且开源的。它根据 GNU GPLv3 许可证的条款发布。更多信息请参见 LICENSE。
flare API 子模块根据更宽松的 MIT 许可证条款发布。更多信息请参见 flare-api/LICENSE。
flare 是 spark 的分支,后者同样使用 GPLv3 授权。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。