Recent Discussions

Seeking guidance to improve my modded server TPS performance

Unanswered
Little fire ant posted this in #questions
Messages158 messages
Views0 views
Little fire antOP
Current Setup
- ModPack: Prominence II RPG: Hasturian Era
- Server Software: Fabric server v0.16.10, Minecraft 1.20.1
- Operating System: Oracle Linux 9.5 ARM
- VM Specs:
- OCI VM.Standard.A1.Flex
- 16 OCPUs
- 48 GB RAM -Xms12G -Xmx12G
- 16 Gbps network
- Block storage (UHP: 22,500 IOPS, 180 MB/s throughput
- Java Version: Oracle GraalVM 21.0.6+8.1]
- Environment Context: Hosted on Oracle Cloud Infrastructure
- Service Management: Deamon (service unit: minecraft@.service


The Problem
- TPS spiked above 200ms with 7 concurrent player playing and exploring


What I've Tried
- Followed [G1GC and GraalVM Falgs using this guide](https://github.com/brucethemoose/Minecraft-Performance-Flags-Benchmarks?tab=readme-ov-file) to optimize performance.
- Set up the server using a guide (only missing the wget command from [this gist](https://gist.github.com/thelegendofbrian/b9d06348cedc686b59c42534c7809983)).
- Turned on Large Pages specifically HugeTLB pages (set vm.nr_hugepages = 61440 in /etc/sysctl.conf) and enabled JVM flags
sudo echo 61440> /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
-XX:+UseTransparentHugePages -XX:+UseLargePages -XX:LargePageSizeInBytes=2m
- Applied the virtual-guest tuned profile [Red Hat's guide](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/optimizing-virtual-machine-performance-in-rhel_monitoring-and-managing-system-status-and-performance#optimizing-virtual-machine-performance-using-tuned_optimizing-virtual-machine-performance-in-rhel) using tuned-adm command
- Pregen 15k radius chunky start world:overworld square 0 0 15000


Additional Information
- [Spark profile](https://spark.lucko.me/w5JvSMpBUq)
- Port forwarding
sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp (udp)
- Added jvm_args.txt and minecraft@.service.txt
perf-2.PNG
perf-2.PNG
Little fire antOP
jvm-args.txt
Download
Little fire antOP
minecraft.service.txt
Download
Bluetick Coonhound
Thank you for asking like that. It’s really rare

Now regarding your question, your bottleneck is likely the cpu itself. Oracle provides EPYCs, which isn’t really ideal to running a Minecraft server.
I would recommend getting a shared host for your use cases and scale back on your OCI VM
What I said is a guess tho. Couldn’t open your spark to see the exact cause
seems like it had expired or something
@Bluetick Coonhound seems like it had expired or something
Little fire antOP
I have a cron process running in the back that automatically shut down if the server has 0 players count for more than 10 mins and restart it back when there a connction attempt hence there no reason to keep running spark since all the metrics are in the green when there 0 user on the server
Bluetick Coonhound
Iirc there is a mod that freezes the server when there’s nobody online
You should run spark with a timeout anyways, never a live connection
Bluetick Coonhound
It would make more sense economically to downsize this vps and buy a shared host
@Bluetick Coonhound It would make more sense economically to downsize this vps and buy a shared host
Little fire antOP
I've 400$ credits to burn in less than 20 days that why I went a litle overboard
Bluetick Coonhound
Would also recommend pregenerating before the server goes live
@Little fire ant What are your recommended specs if I were to use chunky while running the server 24/7 ? I was thinking 8 OCUPS with 32 ram
Bluetick Coonhound
More ram isn’t better. Don’t allocate above 12 unless you know what you are doing
It induces a heavier load on GC
@Bluetick Coonhound Would also recommend pregenerating before the server goes live
Little fire antOP
How would that work? You meant as I fully progenerate while running the server before I let any players in ?
Bluetick Coonhound
Yup
Pregenerate with nobody online
Easiest way is to just close the port
@Bluetick Coonhound It would make more sense economically to downsize this vps and buy a shared host
Little fire antOP
The instance is already on a shared host I used the
On-Demand capacity :Place the instance on a shared host using on-demand capacity.

There also two anothers options that have share host which are
Preemptible capacity: Place the instance on a shared host using preemptible capacity. This instance can be reclaimed at any time.
Capacity reservation: Place the instance on a shared host, and have it count against a capacity reservation.

If I were to change, do you have access to a guide on how I could migrate all the data of my current instance to a new one with your recommended steps?
Bluetick Coonhound
no. not oracle. I meant actual game hosting providers
Loading...