forked from mirror/NitWikit
80 lines
2.6 KiB
Markdown
80 lines
2.6 KiB
Markdown
|
---
|
||
|
sidebar_position: 5
|
||
|
---
|
||
|
|
||
|
# 性能分析
|
||
|
|
||
|
性能分析是一切"优化"的依据. 如果你不知道服务器导致卡顿的元凶, 那么将毫无意义.
|
||
|
|
||
|
## spark
|
||
|
|
||
|
spark是一个Minecraft的性能分析器,支持广泛(Bukkit,BungeeCord,velocity,Forge,Fabric等)
|
||
|
|
||
|
:::info
|
||
|
|
||
|
`官网` :https://spark.lucko.me/download
|
||
|
|
||
|
`文档(中文)` :https://snowcutieowo.github.io/spark
|
||
|
|
||
|
:::
|
||
|
|
||
|
### 使用方法
|
||
|
|
||
|
首先将spark.jar文件插件放到服务端的 mods 或者 plugins 文件夹中.(如果服务端是purpur fork很可能你可以直接在/pl中查看到spark,直接用就好)
|
||
|
|
||
|
#### /spark profiler
|
||
|
|
||
|
如果分析器已经启动,你可以输入下面这些命令:
|
||
|
|
||
|
/spark profiler open 打开分析报告页而无需停止;
|
||
|
|
||
|
/spark profiler stop 停止分析并浏览分析结果;
|
||
|
|
||
|
/spark profiler cancel 取消分析操作,并取消上传报告。
|
||
|
|
||
|
在其他情况下,你可以使用这些基本的操作命令:
|
||
|
|
||
|
/spark profiler start 在默认操作模式下开始分析;
|
||
|
|
||
|
/spark profiler info 检查当前分析的状态。
|
||
|
|
||
|
这是主要的指令,为了更多的功能,更精准的分析等可以在后面加上参数.具体请查看[profiler指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage)
|
||
|
|
||
|
#### /spark hearth
|
||
|
|
||
|
子命令 health 会产生一份服务器的健康报告,其中包含 TPS、CPU、内存和硬盘的使用情况
|
||
|
|
||
|
#### /spark tps
|
||
|
|
||
|
spark默认会替代服务器的tps输出(但可能被CMI覆盖,请关闭CMI的/tps指令或者输入完整/spark tps获取)
|
||
|
|
||
|
#### 其他指令
|
||
|
|
||
|
其他指令其实并不太重要...因为都包含在了profiler里了,如果不想跑一个完整的profiler可以自己琢磨.
|
||
|
|
||
|
## timings
|
||
|
|
||
|
timings是一个paper自带的性能分析器,由于其监听每一个事件,性能开销比较大,在很多服务器核心(如purpur等)本身也是被移除的,不推荐.
|
||
|
|
||
|
:::warning
|
||
|
在可预见的未来timings将会被移除,作为新手可以直接跳过
|
||
|
:::
|
||
|
|
||
|
### 其他软件分析
|
||
|
|
||
|
:::warning
|
||
|
这部分需要一些基础知识,一般spark分析不出来才会尝试其他软件
|
||
|
:::
|
||
|
|
||
|
#### arthas
|
||
|
|
||
|
Arthas 是一款阿里巴巴开发的在线性能分析软件,可实时查看应用 jvm/内存/gc/线程 的状态信息,甚至包括查看方法调用的出入参、异常,监测方法执行耗时等,一般用于排查某些插件的CPU占用情况和插件线程占用分析.
|
||
|
|
||
|
[官方文档链接](https://arthas.aliyun.com/doc/)
|
||
|
|
||
|
#### jprofiler
|
||
|
|
||
|
jprofiler是一款付费的易用的性能分析软件,甚至可以对MySQL,内存泄漏进行分析,可视化展示.
|
||
|
|
||
|
[官方链接](https://www.ej-technologies.com/products/jprofiler/overview.html)
|