NitWikit/docs/优化/储存空间优化.md
2024-05-18 05:19:40 +08:00

93 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar_position: 3
---
# 储存空间优化
## 存档存储空间优化
首先你要知道官方默认的区块格式是ANVIL但是这个区块格式有很多弊端比如存了很多无用信息强制对齐等并且至今还使用着清朝的zlib所以我们要进行优化
但是这是很底层的东西,其实不推荐在非必要情况下进行处理
### 删除过时区块
有一个插件可以做到,但是忘了名字
TODO
### 更高效的储存方式
:::danger
Linear不适合玩家基数非常大/服务器经常滞后/压缩比较大(推荐默认1-5)/CPU核心数目小/服务器硬盘空间足够大的服务器.换句话来说只有玩家并不多但需要较大的地图且VPS默认给的硬盘较小时才应该考虑此格式. 如果强行在以上不适合使用Linear的服务器使用时可能会出现回档的情况请注意.
:::
此格式是由著名的Xymb大佬开发相比于ANVIL可以节省巨大的空间(主世界可以节约50%的空间末地为80%且使用现代的zstd可以获得更快的加载速度和保存速度
#### 转换区域格式
使用之前你需要将 ANVIL 转换成 Linear 区域格式如果你使用的是Leaves你可以在服务端内部自动转换如何开启此选项请查看Wiki
[转换工具](https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools) ,转换非常简单你只需要看着教程做就行(记得做备份)
#### 开启区域格式
目前支持线性区域格式的仅有LinearPurpurLinearPaperLeavesLeafKaiiju(还有一堆Fork)开启教程不多说你只需要查看Wiki就行
#### 不兼容的插件
ServerBackup 一款备份插件会由于找不到mca文件报错.
目前已知不兼容线性区域的格式的插件极少无比已知的有大部分在线网页地图浏览程序以及Residence部分不兼容(感谢z大神的优雅代码当传送到一个未加载区块的领地时会崩溃
#### 测试结果
感谢HaHaWTH提供的测试结果测试内容为使用Chunky加载半径1000格的方块并保存测试核心为Leaf实际结果可能与测试结果有出入
| 世界 | ANVIL(原版格式) | Linear(压缩比为一) | Linear(压缩比为六,默认压缩比) | Linear(压缩比为22)(最大压缩比)|
| --- | --- | --- | --- | --- |
| 主世界 | 192MB | 142MB | 117MB | 92MB |
| 地狱 | 118MB | 70MB | 60MB | 46MB |
| 末地 | 87MB | 1.72MB | 1.2MB | 914KB |
| 保存用时 | 3m18s | 3m50s | 4m44s | 23m21s |
| 内存占用 | 3GB左右 | 3.1GB | 3.3GB | 3.4 ~ 18GB(极不稳定)|
:::note
不推荐压缩比开到最大推荐值为6
:::
## 插件数据优化
对于plugins文件夹储存是否需要进行优化这个问天有个很简单的判断方法就是查看总占用如果超过了200Mb那么很有可能有些插件使用了Sqlite(这并不是推荐的储存方式)/yml/zip储存了一些东西在某些情况下可能对储存空间会有一定的占用.
### 使用数据库
合理使用数据库可以降低服务器硬盘占用. 详见[数据库相关](/docs/拓展阅读/数据库相关.md)
## 备份空间优化
### 使用备份插件替代整端备份
推荐两个备份插件(高效的备份,无需停服即可备份)
[ebackup](https://www.spigotmc.org/resources/ebackup-simple-and-reliable-backups-for-your-server-supports-ftp-sftp.69917/) 可设置黑名单不备份某些文件FTP远程备份支持
[serverbackup](https://www.spigotmc.org/resources/server-backup-ingame-dropbox-ftp-backup-1-8-1-20-multithreaded.79320/) 可支持动态备份(即只备份最近变更过的文件),占用空间更小
## 其他
1. 使用软链接/快捷方式共享多个服务器的libmc本体等(除非空间非常少否则不要这样,后果自负)
2. 使用清理软件
3. 重装系统,并最小化安装(不安装非必要软件)
4. 检查是否有多余的Java(一般来说开服一个版本的Java即可)
:::warning
除非你知道你在删什么否则请先请教大佬能不能删除或者先备份,不要删了才发现服务器出问题.
:::