So, da es keiner macht, erstell ich das Thema 
Ich habe schon recht viel dazu gepostet, nur eben in verschiedenen Themen als Posts,
hier kann man mal alle Erfahrungen von allen Zusammentragen.
Im Bukkit Forum tut sich da net sooo viel:
http://forums.bukkit.org/threads/so...ons-and-experiences-about-your-servers.27647/
Identische Thema im minecraft.de Forum, nur ist dort auch net jeder angemeldet:
http://minecraft.de/showthread.php?62310-Server-Performance-Diskussion
Wie es derweil bei uns ausschaut:
Server:
- OS: ESXI 4.1, Boot per USB Stick
- VMs: 3
- CPU: Phenom II X4 @ 4x 3,8gHz
- Ram: 16 GB DDR3 Ram
- Neustarts: Normal NIE (Bisher, 2x Hardwaretausch)
- Sonstiges: 3Ware Hardware Raid* (keine Software Controller!) mit Samsung F1. USV
* Hardware Raid = 2x Lesespeed im Raid-1, 1x Schreibspeed
Minecraft-Server:
- OS: Ubuntu Server 11 x64 als VM
- JRE/JVM 1.7 x64
- 10gb Ram und voller CPU fest zugeteilt
- Raid-1, 16GB für Linux, 60Gb für MC
- Sonstiges: 4x mySQL Datenbank, FTP + Webserver laufen zusätzlich
- 18 Slots
- 4 Welten (3 davon begrenzt auf Radius 750)
- 60 Plugins, davon 2 Loggin/Rollback-Plugins jeweils mit mySQL Datenbank (Viel Kleinkram Plugins, viel für Loggin und Adminzwecke)
- Plugins, welche die meisten Ressourcen fressen: mcMMO (ram), WorldGuard(cpu), BigBrother(ram), Hawkeye(ram), Minebackup(cpu), WAR (ram!), Dynmap HD (HDD, bissel CPU)
- Derweil Craftbukkit #1337
- Gestartet mit XMn2G, Xms4G, Xmx8G (weitere Startparameter rück ich nicht raus, is ne komplette Zeile)
- Server-Neustarts: alle 4h automatisch
- VM Neustarts: Nur bei Updates, bisher 2x in 3/4 Jahren.
- Backups: Alle 30 Min safe-all, alle 90 Minuten werden alle Worlds gebackupt, max Backups 3 Tage (ab und an manuelle, Ältere), Kompression gering.
Wie's läuft/Beobachtungen:
Upload:
Pro User 7-15 kb/s, bei Teleports (Warps, Portale, Tode, /home...) kurzzeitiger Anstieg auf 150-400 kb/s
CPU:
Mit 18 User online knapp 30-50% CPU Last, bei neuen Logins oder Weltenwechsel ganz kurze 80-90% peaks
Ram:
Java belegt derweil um die 2,5 bis 3,8gb nach 3-4h. Bei längerer Laufzeit (5-8Std.) ~4,2gb
Die Performance ist allgemein etwas besser geworden seit den 1.8er builds, Traffic wurde seit den 1.7 builds auch schon mehrfach optimiert.
Die benötigten Ressourcen verdoppeln sich nicht bei Verdopplung der User (Außer Upload)
Mit weniger Plugins sollte die Last bei ~20 Usern so bei 20-40% schwanken, oder sogar noch geringer und weniger Ram schlucken, je nach Plugins und Parameter.
Bisher getestete OS':
Windows XP x86: kannste knicken
Windows Server 2000 Ent. x86: Auch net viel besser
Windows Server 2008 RC1 x64: Ebenfalls schlecht
Windows Server 2008 RC2 x64: Wurde schon einiges besser, dennoch kein Vergleich zu Linux, vor allem was CPU anbelangt
Open Suse Linux X64: Im Vergleich zu Windows schon ein enormer Sprung, CPU Last unter der Hälfte. Dafür macht's den Ram nicht mehr frei, somit alle 2-3 tage die VM restarten
Ubuntu Server 11 x64: Bisher die beste Performance, maximal hatte ich 10h am Stück getestet, ging 1A. Restarts benötigt die VM absolut keine, bin glücklich.
Es neueste Debian x64: hier berichten einige, dass es noch etwas besser laufen soll, wie viel kann ich net sagen, schätze aber im Vergleich zum Ubuntu, ist Debian dann nurnoch das i-Tüpfelchen
Upgrade CPU:
Demletzt wurde von einem günstigen Athlon II X4 2,8gHz auf einen Phenom II X4 3,8gHz gewechselt.
Den Unterschied merkt man doch schon deutlich, nicht nur die mHz, sondern auch der größere Chache machen's aus.
Wie viel Performance das Upgrade auf einen reinen Server-CPU bringen würde (Xenon/Opteron) kann man nur erahnen,
ich denke bei identischem Tahkt aber nicht mehr so viel im Vergleich zu einem Phenom II, respektive I5/I7.
Top/Monitor - Last: (ich nutze idR. kein Top, sondern nen "live"-gui-Monitor)
Java nutzt bekanntlich ja nur einen Kern/CPU, jedoch wird zwischen den Kernen gewechselt. Auch wenn man Java fest einem kern zuordnet,
konnte ich kein Performance-Unterschied feststellen, außer, dass Funktionen wie Turbocore besser funktionieren!
Hierbei habe ich beobachtet, dass "Top" eher die maximale Last angibt, nicht den Durchschnitt.
Gerade vorhin habe ich gesehen: Last 4-11%, Durchschnitt also 7%, Top gibt allerdings 12% aus.
Wenn Top zB. sagt: 122%, frisst's java um die 60-80% auf einem Kern, der Rest sind andere Dienste, oder kommts eher durch's "swichen" so meine Beobachtung,
da Top alle Kerne mit einbezieht.
Optimierungstipps:
- Definitiv auf ein Linux umsteigen, 64 bit sollte mittlerweile eh Standard sein.
- java 1.7 X64 hat schon etwas bessere performance gebracht, zudem braucht es weniger Startparameter als 1.6, da vieles schon fest "eingebaut" ist.
- Passende Startparameter für Java nutzen, siehe hierzu die JavaDocs
- Net wild einen Server aufsetzen und tausende Portale/Warps usw. setzen, hierbei ebenso auf die Hardware achten.
- Plugins optimieren!:
- Schaltet zB die High-freq. Flags & Scheduler in Welten aus, in denen man sie net brauchst.
- Schaltet den Move-Event aus und nutzt für Region-Nachrichten andere Plugins
- Nutzt low-priority-inserts
- Lasst net alles Loggen, Leaf Decay und Fire braucht kein Mensch.
- Backups nicht Komprimieren lassen, oder die Stufe auf niedrig stellen.
- Nutzt Ebeans storage anstatt Cached
- Einfach mal weniger Portale und Warps zur Verfügung stellen, gibts im SP ja auch net.
- Bei großen Welten ggf. die Mobanzahl beschränken.
- Caches, wie zB. bei LWC beschränken
- usw. usw.
Man kann wirklich sehr sehr viel optimieren, gerade bei den einzelnen Plugins,
nicht nur die Java Startparameter machen's
Zusatztipps für schwache CPUs:
Legt nen maximalen Radius der Welt fest (Border) und lass die Chunks darin schon alle vorher erstellen, somit gibt's keine Lags, wenn mehrere User
die Welt erkunden.
Zusätzlich könnt ihr eure Dynmap auch schon die Welt komplett rendern lassen, somit werden nurnoch Bilder veränderter Chunks neu erstellt.
Bei schwachem CPU solltet ihr auchkeine HD Maps nutzen, oder diese eben auf Low oder Lowest rendern.
Backups nicht komprimieren lassen, oder Kompression auf schwach stellen.
Sonstiges:
Vorgestern hat sich das Java komischerweise mit 8gb voll gefressen, was dem Linux nicht gefallen hat und das System fast zum Halt brachte.
Das Linux hat nun 10gb bekommen, der Server XMn2G, XMs4G und XMx8G.
Natürlich ein Fehler meinerseits, ich kann net dem Server 8GB geben, wenn das Linux nur 8Gb zur Verfügung gestellt bekommt
(Aber bisher kam es auch noch net vor, dass so viel Ram belegt wurde)
Danach gab's direkt nen Belastungstest mit TNT
Bei ca 4500 TNT gibt's 5 Sekunden Lag (100% cpu Peaks ), das paar mal gemacht (~20000 TNT), bis die Kiste seine 7,9GB Ram frisst, weiter hat sichs net gefüllt.
/Lagmem zeigte minimal 19% freier Ram an, weiter hab ich die Kiste net voll bekommen. Lief dennoch alles Lagfrei damit.
Doof: es Java macht sich net wieder frei, das bleibt dann bis zum Neustart bei 19-23% freier Ram.
Auch ein Grund warum wir alle 4h automatisch Neustarten lassen.
Ein Neustart dauert knapp 10 Sekunden, somit kann man das den Usern auchmal alle 4h zumuten, dafür rennt auch alles lagfrei, egal was ingame so angestellt wird!
Kurzum:
Sind die Plugins sparend eingestellt (geht bei vielen ja, siehe WG, da gibts gleich 4 Optionen pro Welt die Last verursachen!)
Tipp: Lagts, nutzt /stoplag, danach /stoplag c, kann enorm helfen, wie unser TNT Test bei >4500 TNT zeigte
Warps, Teleports, somit auch Tode, verursachen CPU LastSpitzen, um so mehr also Sterben/Porten um so eher kommt der CPU an's Limit.
Pro User benötigt man ca 7-15kb/s Upload, beim Warpen kurze 150-400 kb/s Peaks.
Tiere und Mobs fressen CPU, um so mehr Welten damit um so mehr CPU Last, wobei Skylands wohl am wenigsten frisst.
Multi CPU oder mehrere kerne bringen leider nix, da immer nur eine genutzt wird, somit lieber auf mehr mHz setzen.
CPU Last und Ram steigt mit verdoppelter Useranzahl nicht gleichmäsig an, sondern weniger.
Ich freue mich auf eure Diskussion!
Was nix bringt:
Wenn ihr eure Hardware postet, aber kein Mensch weiß, ob's ne VM ist oder nen Root mit (nicht) vollen oder geteilten Ressourcen.
Auch postet bitte was ihr so beobachtet habt, wie die Performance bei euch ausschaut usw.
Posts wie: "Root 8x 10 ghz, 128gb ram, rennt super lagfrei, nix festgestellt" könnt ihr euch sparen!
Ich habe schon recht viel dazu gepostet, nur eben in verschiedenen Themen als Posts,
hier kann man mal alle Erfahrungen von allen Zusammentragen.
Im Bukkit Forum tut sich da net sooo viel:
http://forums.bukkit.org/threads/so...ons-and-experiences-about-your-servers.27647/
Identische Thema im minecraft.de Forum, nur ist dort auch net jeder angemeldet:
http://minecraft.de/showthread.php?62310-Server-Performance-Diskussion
Wie es derweil bei uns ausschaut:
Server:
- OS: ESXI 4.1, Boot per USB Stick
- VMs: 3
- CPU: Phenom II X4 @ 4x 3,8gHz
- Ram: 16 GB DDR3 Ram
- Neustarts: Normal NIE (Bisher, 2x Hardwaretausch)
- Sonstiges: 3Ware Hardware Raid* (keine Software Controller!) mit Samsung F1. USV
* Hardware Raid = 2x Lesespeed im Raid-1, 1x Schreibspeed
Minecraft-Server:
- OS: Ubuntu Server 11 x64 als VM
- JRE/JVM 1.7 x64
- 10gb Ram und voller CPU fest zugeteilt
- Raid-1, 16GB für Linux, 60Gb für MC
- Sonstiges: 4x mySQL Datenbank, FTP + Webserver laufen zusätzlich
- 18 Slots
- 4 Welten (3 davon begrenzt auf Radius 750)
- 60 Plugins, davon 2 Loggin/Rollback-Plugins jeweils mit mySQL Datenbank (Viel Kleinkram Plugins, viel für Loggin und Adminzwecke)
- Plugins, welche die meisten Ressourcen fressen: mcMMO (ram), WorldGuard(cpu), BigBrother(ram), Hawkeye(ram), Minebackup(cpu), WAR (ram!), Dynmap HD (HDD, bissel CPU)
- Derweil Craftbukkit #1337
- Gestartet mit XMn2G, Xms4G, Xmx8G (weitere Startparameter rück ich nicht raus, is ne komplette Zeile)
- Server-Neustarts: alle 4h automatisch
- VM Neustarts: Nur bei Updates, bisher 2x in 3/4 Jahren.
- Backups: Alle 30 Min safe-all, alle 90 Minuten werden alle Worlds gebackupt, max Backups 3 Tage (ab und an manuelle, Ältere), Kompression gering.
Wie's läuft/Beobachtungen:
Upload:
Pro User 7-15 kb/s, bei Teleports (Warps, Portale, Tode, /home...) kurzzeitiger Anstieg auf 150-400 kb/s
CPU:
Mit 18 User online knapp 30-50% CPU Last, bei neuen Logins oder Weltenwechsel ganz kurze 80-90% peaks
Ram:
Java belegt derweil um die 2,5 bis 3,8gb nach 3-4h. Bei längerer Laufzeit (5-8Std.) ~4,2gb
Die Performance ist allgemein etwas besser geworden seit den 1.8er builds, Traffic wurde seit den 1.7 builds auch schon mehrfach optimiert.
Die benötigten Ressourcen verdoppeln sich nicht bei Verdopplung der User (Außer Upload)
Mit weniger Plugins sollte die Last bei ~20 Usern so bei 20-40% schwanken, oder sogar noch geringer und weniger Ram schlucken, je nach Plugins und Parameter.
Bisher getestete OS':
Windows XP x86: kannste knicken
Windows Server 2000 Ent. x86: Auch net viel besser
Windows Server 2008 RC1 x64: Ebenfalls schlecht
Windows Server 2008 RC2 x64: Wurde schon einiges besser, dennoch kein Vergleich zu Linux, vor allem was CPU anbelangt
Open Suse Linux X64: Im Vergleich zu Windows schon ein enormer Sprung, CPU Last unter der Hälfte. Dafür macht's den Ram nicht mehr frei, somit alle 2-3 tage die VM restarten
Ubuntu Server 11 x64: Bisher die beste Performance, maximal hatte ich 10h am Stück getestet, ging 1A. Restarts benötigt die VM absolut keine, bin glücklich.
Es neueste Debian x64: hier berichten einige, dass es noch etwas besser laufen soll, wie viel kann ich net sagen, schätze aber im Vergleich zum Ubuntu, ist Debian dann nurnoch das i-Tüpfelchen
Upgrade CPU:
Demletzt wurde von einem günstigen Athlon II X4 2,8gHz auf einen Phenom II X4 3,8gHz gewechselt.
Den Unterschied merkt man doch schon deutlich, nicht nur die mHz, sondern auch der größere Chache machen's aus.
Wie viel Performance das Upgrade auf einen reinen Server-CPU bringen würde (Xenon/Opteron) kann man nur erahnen,
ich denke bei identischem Tahkt aber nicht mehr so viel im Vergleich zu einem Phenom II, respektive I5/I7.
Top/Monitor - Last: (ich nutze idR. kein Top, sondern nen "live"-gui-Monitor)
Java nutzt bekanntlich ja nur einen Kern/CPU, jedoch wird zwischen den Kernen gewechselt. Auch wenn man Java fest einem kern zuordnet,
konnte ich kein Performance-Unterschied feststellen, außer, dass Funktionen wie Turbocore besser funktionieren!
Hierbei habe ich beobachtet, dass "Top" eher die maximale Last angibt, nicht den Durchschnitt.
Gerade vorhin habe ich gesehen: Last 4-11%, Durchschnitt also 7%, Top gibt allerdings 12% aus.
Wenn Top zB. sagt: 122%, frisst's java um die 60-80% auf einem Kern, der Rest sind andere Dienste, oder kommts eher durch's "swichen" so meine Beobachtung,
da Top alle Kerne mit einbezieht.
Optimierungstipps:
- Definitiv auf ein Linux umsteigen, 64 bit sollte mittlerweile eh Standard sein.
- java 1.7 X64 hat schon etwas bessere performance gebracht, zudem braucht es weniger Startparameter als 1.6, da vieles schon fest "eingebaut" ist.
- Passende Startparameter für Java nutzen, siehe hierzu die JavaDocs
- Net wild einen Server aufsetzen und tausende Portale/Warps usw. setzen, hierbei ebenso auf die Hardware achten.
- Plugins optimieren!:
- Schaltet zB die High-freq. Flags & Scheduler in Welten aus, in denen man sie net brauchst.
- Schaltet den Move-Event aus und nutzt für Region-Nachrichten andere Plugins
- Nutzt low-priority-inserts
- Lasst net alles Loggen, Leaf Decay und Fire braucht kein Mensch.
- Backups nicht Komprimieren lassen, oder die Stufe auf niedrig stellen.
- Nutzt Ebeans storage anstatt Cached
- Einfach mal weniger Portale und Warps zur Verfügung stellen, gibts im SP ja auch net.
- Bei großen Welten ggf. die Mobanzahl beschränken.
- Caches, wie zB. bei LWC beschränken
- usw. usw.
Man kann wirklich sehr sehr viel optimieren, gerade bei den einzelnen Plugins,
nicht nur die Java Startparameter machen's
Zusatztipps für schwache CPUs:
Legt nen maximalen Radius der Welt fest (Border) und lass die Chunks darin schon alle vorher erstellen, somit gibt's keine Lags, wenn mehrere User
die Welt erkunden.
Zusätzlich könnt ihr eure Dynmap auch schon die Welt komplett rendern lassen, somit werden nurnoch Bilder veränderter Chunks neu erstellt.
Bei schwachem CPU solltet ihr auchkeine HD Maps nutzen, oder diese eben auf Low oder Lowest rendern.
Backups nicht komprimieren lassen, oder Kompression auf schwach stellen.
Sonstiges:
Vorgestern hat sich das Java komischerweise mit 8gb voll gefressen, was dem Linux nicht gefallen hat und das System fast zum Halt brachte.
Das Linux hat nun 10gb bekommen, der Server XMn2G, XMs4G und XMx8G.
Natürlich ein Fehler meinerseits, ich kann net dem Server 8GB geben, wenn das Linux nur 8Gb zur Verfügung gestellt bekommt
(Aber bisher kam es auch noch net vor, dass so viel Ram belegt wurde)
Danach gab's direkt nen Belastungstest mit TNT
Bei ca 4500 TNT gibt's 5 Sekunden Lag (100% cpu Peaks ), das paar mal gemacht (~20000 TNT), bis die Kiste seine 7,9GB Ram frisst, weiter hat sichs net gefüllt.
/Lagmem zeigte minimal 19% freier Ram an, weiter hab ich die Kiste net voll bekommen. Lief dennoch alles Lagfrei damit.
Doof: es Java macht sich net wieder frei, das bleibt dann bis zum Neustart bei 19-23% freier Ram.
Auch ein Grund warum wir alle 4h automatisch Neustarten lassen.
Ein Neustart dauert knapp 10 Sekunden, somit kann man das den Usern auchmal alle 4h zumuten, dafür rennt auch alles lagfrei, egal was ingame so angestellt wird!
Kurzum:
Sind die Plugins sparend eingestellt (geht bei vielen ja, siehe WG, da gibts gleich 4 Optionen pro Welt die Last verursachen!)
Tipp: Lagts, nutzt /stoplag, danach /stoplag c, kann enorm helfen, wie unser TNT Test bei >4500 TNT zeigte
Warps, Teleports, somit auch Tode, verursachen CPU LastSpitzen, um so mehr also Sterben/Porten um so eher kommt der CPU an's Limit.
Pro User benötigt man ca 7-15kb/s Upload, beim Warpen kurze 150-400 kb/s Peaks.
Tiere und Mobs fressen CPU, um so mehr Welten damit um so mehr CPU Last, wobei Skylands wohl am wenigsten frisst.
Multi CPU oder mehrere kerne bringen leider nix, da immer nur eine genutzt wird, somit lieber auf mehr mHz setzen.
CPU Last und Ram steigt mit verdoppelter Useranzahl nicht gleichmäsig an, sondern weniger.
Ich freue mich auf eure Diskussion!
Was nix bringt:
Wenn ihr eure Hardware postet, aber kein Mensch weiß, ob's ne VM ist oder nen Root mit (nicht) vollen oder geteilten Ressourcen.
Auch postet bitte was ihr so beobachtet habt, wie die Performance bei euch ausschaut usw.
Posts wie: "Root 8x 10 ghz, 128gb ram, rennt super lagfrei, nix festgestellt" könnt ihr euch sparen!