Before you upgrade, spend 15 minutes ruling out the common software causes. Most servers that feel laggy are not CPU- or RAM-limited - they are misconfigured.
Lower simulation distance: Simulation distance controls how many chunks are actively ticked. Drop it from 10 to 4-6 and most servers see an immediate TPS improvement.
Lower view distance: View distance controls how far players can see. 8-10 is a reasonable ceiling. Going higher costs a lot with diminishing visual returns.
Audit your plugins: Run /timings report (Paper/Purpur) or a Spark profiler report. You are looking for plugins ticking every game tick unnecessarily - chunk loaders, custom schedulers, poorly written event listeners.
Limit mob caps: Entity processing is one of the biggest lag sources on survival servers. Lower mob-spawn-range and reduce max entity counts per chunk if you are not playing a survival-focused server.
Keep the jar updated: Paper and Purpur ship performance patches regularly. Running an old build means you are missing free performance wins.
If you have done all of the above and the server is still struggling, that is usually when upgrading from Stone to Iron or Iron to Gold makes a real difference.