Update 性能分析.md

This commit is contained in:
Radiation-pi 2024-05-01 12:26:18 +08:00 committed by GitHub
parent 35c2858789
commit d7849dea90
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,5 @@
---
sidebar_position: 5
sidebar_position: 4
---
# 性能分析
@ -8,7 +8,7 @@ sidebar_position: 5
## spark
spark是一个Minecraft的性能分析器,支持广泛(Bukkit,BungeeCord,velocity,Forge,Fabric等)
spark是一个Minecraft的性能分析器, 支持广泛(Bukkit, BungeeCord, velocity, Forge, Fabric等)
:::info
@ -20,45 +20,45 @@ spark是一个Minecraft的性能分析器,支持广泛(Bukkit,BungeeCord,velocit
### 使用方法
首先将spark.jar文件插件放到服务端的 mods 或者 plugins 文件夹中.(如果服务端是purpur fork很可能你可以直接在/pl中查看到spark,直接用就好)
首先将spark.jar文件插件放到服务端的 mods 或者 plugins 文件夹中.(如果服务端是purpur fork很可能你可以直接在/pl中查看到spark, 直接用就好)
#### /spark profiler
如果分析器已经启动你可以输入下面这些命令:
如果分析器已经启动, 你可以输入下面这些命令:
/spark profiler open 打开分析报告页而无需停止;
/spark profiler stop 停止分析并浏览分析结果;
/spark profiler cancel 取消分析操作,并取消上传报告。
/spark profiler cancel 取消分析操作, 并取消上传报告.
在其他情况下你可以使用这些基本的操作命令:
在其他情况下, 你可以使用这些基本的操作命令:
/spark profiler start 在默认操作模式下开始分析;
/spark profiler info 检查当前分析的状态
/spark profiler info 检查当前分析的状态.
这是主要的指令,为了更多的功能,更精准的分析等可以在后面加上参数.具体请查看[profiler指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage)
这是主要的指令, 为了更多的功能, 更精准的分析等可以在后面加上参数.具体请查看[profiler指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage)
#### /spark hearth
子命令 health 会产生一份服务器的健康报告其中包含 TPS、CPU、内存和硬盘的使用情况
子命令 health 会产生一份服务器的健康报告, 其中包含 TPS、CPU、内存和硬盘的使用情况
#### /spark tps
spark默认会替代服务器的tps输出(但可能被CMI覆盖,请关闭CMI的/tps指令或者输入完整/spark tps获取)
spark默认会替代服务器的tps输出(但可能被CMI覆盖, 请关闭CMI的/tps指令或者输入完整/spark tps获取)
#### 其他指令
其他指令其实并不太重要...因为都包含在了profiler里了,如果不想跑一个完整的profiler可以自己琢磨.
其他指令其实并不太重要...因为都包含在了profiler里了, 如果不想跑一个完整的profiler可以自己琢磨.
:::info 怎么让大佬帮我
如果你看不懂spark, 请进行以下操作
1.检查你的服务器有没有安装spark插件,尝试`/spark`命令或者`/pl`看看有没有spark
1.检查你的服务器有没有安装spark插件, 尝试`/spark`命令或者`/pl`看看有没有spark
如果没有,手动安装一下[spark](https://www.spigotmc.org/resources/spark.57242/)
如果没有, 手动安装一下[spark](https://www.spigotmc.org/resources/spark.57242/)
2. 开启spark记录
@ -68,7 +68,7 @@ spark profiler start
![](_images/怎么让大佬帮我/spark_start.png)
在你服务器卡顿的时候开启,**一段时间后**结束
在你服务器卡顿的时候开启, **一段时间后**结束
3. 结束spark记录
@ -76,7 +76,7 @@ spark profiler start
spark profiler stop
```
它会给你一个链接,你把这个链接发给大佬并**礼貌的**请求他帮助你
它会给你一个链接, 你把这个链接发给大佬并**礼貌的**请求他帮助你
注:链接位置在下方图片中红框标记的部分
@ -86,26 +86,34 @@ spark profiler stop
## timings
timings是一个paper自带的性能分析器,由于其监听每一个事件,性能开销比较大,在很多服务器核心(如purpur等)本身也是被移除的,不推荐.
timings是一个paper自带的性能分析器, 由于其监听每一个事件, 性能开销比较大, 在很多服务器核心(如purpur等)本身也是被移除的, **不推荐**.
:::warning
在可预见的未来timings将会被移除,作为新手可以直接跳过
在可预见的未来timings将会被移除, 作为新手可以直接跳过. 如果你使用paper服务器, 请禁用Timings虽然它是一个很好的诊断工具,
但由于其不断不断启动和停止虚拟“秒表”, 会对性能产生非常大的影响. 因此无论服务器规模大小只需禁用计时即可实现 *10-30%* 的性能提升.
可以通过在 timings.enabled /config/paper-global.yml中设为 false 禁用.
:::
### 其他软件分析
:::warning
这部分需要一些基础知识,一般spark分析不出来才会尝试其他软件
这部分需要一些基础知识, 一般spark分析不出来才会尝试其他软件. *一般服主不必要学习这部分内容*.
:::
#### arthas
Arthas 是一款阿里巴巴开发的在线性能分析软件,可实时查看应用 jvm/内存/gc/线程 的状态信息,甚至包括查看方法调用的出入参、异常,监测方法执行耗时等,一般用于排查某些插件的CPU占用情况和插件线程占用分析.
Arthas 是一款阿里巴巴开发的在线性能分析软件, 可实时查看应用 jvm/内存/gc/线程 的状态信息, 甚至包括查看方法调用的出入参、异常, 监测方法执行耗时等, 一般用于排查某些插件的CPU占用情况和插件线程占用分析.
[官方文档链接](https://arthas.aliyun.com/doc/)
#### jprofiler
jprofiler是一款付费的易用的性能分析软件,甚至可以对MySQL,内存泄漏进行分析,可视化展示.
jprofiler是一款付费的易用的性能分析软件, 甚至可以对MySQL, 内存泄漏进行分析, 可视化展示.
[官方链接](https://www.ej-technologies.com/products/jprofiler/overview.html)