Add max-player-auto-save-per-tick setting to spread out saves more

This will force the saves to spread over multiple ticks even when many
players auto save interval is aligned, avoiding spikes on large servers.

Closes #1021
This commit is contained in:
Aikar
2018-03-04 20:20:27 -05:00
parent 7c577df97d
commit 66dd61702a
6 changed files with 19 additions and 11 deletions

View File

@@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 0e82c16b7..4080ed26c 100644
index efea22c92..91136a8d8 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -0,0 +0,0 @@ public abstract class PlayerList {
@@ -17,7 +17,7 @@ index 0e82c16b7..4080ed26c 100644
+ MCUtil.ensureMain("Save Players", () -> { // Paper - ensure main
long now = MinecraftServer.currentTick;
MinecraftTimings.savePlayers.startTiming(); // Paper
for (int i = 0; i < this.players.size(); ++i) {
int numSaved = 0; // Paper
@@ -0,0 +0,0 @@ public abstract class PlayerList {
}
}