Merge branch 'main' of github.com:postyizhan/Dumb_Service_Guide

This commit is contained in:
postyizhan 2024-05-19 12:34:01 +08:00
commit b2bdff45fa
3 changed files with 60 additions and 29 deletions

View File

@ -0,0 +1,5 @@
---
sidebar_position: 10
---
# 什么是多线程

View File

@ -0,0 +1,55 @@
---
sidebar_position: 1
---
# 如何评判服务器卡顿
服务器中玩家可感知到的卡顿是多种多样的,其中主要包括服务器处理速度不足导致的 **MSPT** 偏高, **TPS** 偏低, 服务器网络波动导致的 **Ping** (即为服务器和玩家之间的网络延迟)
总的说来 **MSPT****TPS** 是用于评价服务器流畅程度的,而 **Ping** 是用于评价服务器和玩家之间的网络稳定性。
## Minecraft 服务器卡顿的底层逻辑是什么?
**理想情况下**Minecraft 无论什么版本都是每秒钟刷新 20 次,也就是说每次刷新之间间隔 50ms ( 1000ms / 20 ) 刷新一次,即为一个 **Tick**
![](https://spark.lucko.me/docs/assets/images/ticks-lagging-0bec1e4f565281af7a643f94222df521.png)
**正常情况下**,每个 Tick 都小于 50ms ,为了保证 Minecraft 以 20 Tick 每秒的速度运行,服务器将选择等待下一个 Tick
![](https://spark.lucko.me/docs/assets/images/ticks-with-sleeping-3b944bf10f5a21b16d1454f2d7fee434.png)
**服务器滞后时**,当服务器某个 Tick 无法在 50ms 内完成时,服务器将产生滞后,一旦发生滞后,每个 Tick 将会顺延,每秒钟发生的 Tick 将会减少。
![](https://spark.lucko.me/docs/assets/images/ticks-lagging-0bec1e4f565281af7a643f94222df521.png)
:::warning
此处只是最简单的理解,要对卡顿有更深层的理解请查看[TODO:多线程](/docs/准备工作/基础知识/什么是多线程.md)
:::
## TPS
TPSTicks Per Second(每秒 Tick 数)正常情况下的 TPS 应该为 20 ,也就是说 Minecraft 服务器每秒钟会进行 20 次更新,确保游戏内的红石、生物 AI 等按照正常工作。
:::warning
TPS 只是最基础的量化卡顿程度。并不是 TPS 高,玩家就感受不到卡顿,也不是 TPS 低就一定会感受到非常卡顿。这是因为TPS 只是计算一个平均值,如果某一个 Tick 花费了 800ms ,而剩下的 18 Tick 只花费了 200ms即使计算出的 TPS 为 19 但玩家会感受到的 800ms 的滞后。下文提到的 MSPT 能够更加精准量化卡顿程度。
:::
## MSPT
MSPTMilliseconds Per Tick(就是每进行一次 Tick 所花费的毫秒数)
如果 MSPT 数值较低,说明服务器可以迅速快速进行每次 Tick ,游戏运行更为流畅。反之,如果 MSPT 过高,意味着每次 Tick 所需的时间变长游戏的运行速度就会变慢进而影响到整体的TPS。
影响 MSPT 的东西很多如区块生成AI 计算,插件计划任务等都会影响 MSPT。
## 查看 TPS 和 MSPT
1. 如果为 purpur fork 服务器可以输入 /tpsbar 查看 MSPT 和 TPS
2. 如果为 paper 服务器可输入 /mspt 查看 MSPT输入 /tps 查看 TPS
3. 安装[TpsBar](https://hangar.papermc.io/jmp/TabTPS),显示更好看。

View File

@ -1,29 +0,0 @@
---
sidebar_position: 1
---
# 如何评判服务器流畅程度
评判服务器流畅程度需要结合两个重要指标,即**TPS**和**MSPT**
## TPS
TPSTicks Per Second(每秒tick数正常情况下的tps应该为20,也就是说MC服务器每秒钟会进行20次计算更新确保游戏内的红石、生物AI等按照正常游戏行为工作
:::danger
如果你的tps低于19就会出现玩家回弹红石机器不可用吃个食物都要几秒钟的卡顿情况会严重劝退玩家
:::
## MSPT
MSPTMilliseconds Per Tick(就是每进行一次tick所花费的毫秒数)
如果MSPT数值较低说明服务器可以迅速快速进行每次tick游戏运行更为流畅。反之如果MSPT过高意味着每次tick所需的时间变长游戏的运行速度就会变慢进而影响到整体的TPS。
影响MSPT的东西很多比如区块生成,AI计算都会影响MSPT
## 查看tps和mspt
推荐安装[TpsBar](https://hangar.papermc.io/jmp/TabTPS),虽说服务器自带,但是这样显示更好看