[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"blog-powernukkitx-benchmark-ryzen-xeon-july-2026":3},"\u003Ch2>Context\u003C\u002Fh2>\n\u003Cp>We&#39;re often asked how much of a real performance difference there is between a \u003Cstrong>Ryzen 9 9950X\u003C\u002Fstrong> and a \u003Cstrong>Xeon Gold 6154\u003C\u002Fstrong> processor for running a Minecraft Bedrock server. Rather than relying on spec sheets, we ran a real benchmark under near-real conditions, with simulated players mining, moving around, and chatting, on a \u003Cstrong>PowerNukkitX\u003C\u002Fstrong> server.\u003C\u002Fp>\n\u003Cp>This comparison shows the raw results for both configurations, TPS, CPU load, memory, and the ability to handle a progressive ramp-up in load.\u003C\u002Fp>\n\u003Ch2>Methodology\u003C\u002Fh2>\n\u003Cp>The test connects bots simulating players in successive waves, with basic AI (movement, mining, chatting, reconnecting after death) to get closer to real usage rather than a simple passive connection.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cp>\u003Cstrong>Test dates\u003C\u002Fstrong>: July 30, 2026 (both tests)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Benchmark run by\u003C\u002Fstrong>: Gabriel Captari (senseitarzan)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Server tested\u003C\u002Fstrong>: PowerNukkitX 3.0.1-SNAPSHOT (git-bc3f83b, API 3.0.1), Minecraft Bedrock 1.26.30 used on both tests\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Load profile\u003C\u002Fstrong>: 16 waves of 16 bots, 15 seconds apart\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Bots with AI\u003C\u002Fstrong>: up to 256 bots active at once (movement, mining, chat, respawn after death)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Measurements\u003C\u002Fstrong>: \u003Ccode>\u002Fstatus\u003C\u002Fcode> readings every 5 seconds (TPS, CPU, memory, players, entities, chunks)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Reset between each test\u003C\u002Fstrong>: deleting the \u003Ccode>db\u003C\u002Fcode> folder to start over on an empty map (same seed and generation settings) and deleting the \u003Ccode>players\u003C\u002Fcode> folder, so each run starts under identical conditions\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Allocated resources\u003C\u002Fstrong>: 6 vCPU and 8 GB of RAM for each of the two configurations tested\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>This test was run with 6 vCPU allocated. A plan with more vCPU would handle more simultaneous players, the numbers in this guide reflect this specific configuration, not the maximum ceiling of each processor.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Bot behavior (movement, mining, chatting) has a random component. From one run to the next, the bots&#39; exact actions aren&#39;t perfectly identical, even starting from the same map and seed. The results should be read as representative of a comparable load profile, not as a block-for-block identical reproduction between the two tests.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-important\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"\u002F>\u003Cpath d=\"M12 8v4\"\u002F>\u003Cpath d=\"M12 16h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>These results are specific to \u003Cstrong>PowerNukkitX\u003C\u002Fstrong>. Other Bedrock server software, like \u003Cstrong>Altay\u003C\u002Fstrong>, has different behavior and optimization and may take advantage of a Ryzen even more. Don&#39;t apply these numbers to another server software without testing it yourself.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Results, Ryzen 9 9950X\u003C\u002Fh2>\n\u003Ch3>TPS stability and incidents\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>90 connection failures out of 256 bots launched\u003C\u002Fstrong>, about 35% failure, almost all of the &quot;closed before spawn&quot; type (85), with a few cases of &quot;connection timeout exceeded&quot; (5), the bot&#39;s socket closes before finishing its connection to the server, usually because the bench tool hits its own connection limit at the same time, before the server could process every attempt\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2 out of 77 \u003Ccode>\u002Fstatus\u003C\u002Fcode> readings with no usable response\u003C\u002Fstrong> (3%), the phases involved have no measurement\u003C\u002Fli>\n\u003Cli>\u003Cstrong>166 bots\u003C\u002Fstrong> stayed connected at once at most\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Idle tick load\u003C\u002Fstrong>: 5.6%, even before the first bot connects\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The lowest TPS observed drops to \u003Cstrong>18.16\u003C\u002Fstrong>, a \u003Cstrong>9.2%\u003C\u002Fstrong> drop from the baseline. No drop below the critical 90% of baseline threshold was seen on this profile.\u003C\u002Fp>\n\u003Cp>The chart below shows how TPS evolves wave after wave for both configurations.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533624988-4861dc412f2d5c49044cf45c.webp\" alt=\"Comparison chart of TPS per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Cp>We can also look at that same TPS not by wave, but directly as a function of the number of connected players, which gives a slightly different read.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533599483-3c5cbc80c1562eb99e464f06.webp\" alt=\"Chart of TPS as a function of connected players, Ryzen vs Xeon\" width=\"800\" \u002F>\n\n\u003Cp>The gap between the two configurations shows up even more clearly this way, the Xeon starts losing TPS at around thirty players, while the Ryzen stays nearly perfect well beyond that.\u003C\u002Fp>\n\u003Ch3>Connection waves\u003C\u002Fh3>\n\u003Cdiv class=\"md-table md-table--info md-table--striped\">\u003Cdiv class=\"md-table__caption\">Connection failures per wave (Ryzen)\u003C\u002Fdiv>\u003Cdiv class=\"md-table__scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Wave\u003C\u002Fth>\n\u003Cth>Launched\u003C\u002Fth>\n\u003Cth>Connected\u003C\u002Fth>\n\u003Cth>Failures\u003C\u002Fth>\n\u003Cth>Cumulative connected\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>2\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>32\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>13\u003C\u002Ftd>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>45\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>13\u003C\u002Ftd>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>58\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>69\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>6\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>81\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>93\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>8\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>104\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>113\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>124\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>6\u003C\u002Ftd>\n\u003Ctd>134\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>8\u003C\u002Ftd>\n\u003Ctd>8\u003C\u002Ftd>\n\u003Ctd>142\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>13\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>149\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>14\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>8\u003C\u002Ftd>\n\u003Ctd>8\u003C\u002Ftd>\n\u003Ctd>159\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>15\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>13\u003C\u002Ftd>\n\u003Ctd>163\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>6\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>166\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp>The first two waves go through with no failures at all, then failures show up starting at wave 3 and continue through the rest of the test, peaking at 13 failures on wave 15. The chart below compares this failure pattern to the Xeon&#39;s, wave by wave.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533586473-a26059618aec0a04b5184785.webp\" alt=\"Comparison chart of connection failures per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Ch3>Ramp-up\u003C\u002Fh3>\n\u003Cdiv class=\"md-table md-table--info md-table--striped\">\u003Cdiv class=\"md-table__caption\">CPU load and memory per phase (Ryzen, 6 vCPU allocated)\u003C\u002Fdiv>\u003Cdiv class=\"md-table__scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Phase\u003C\u002Fth>\n\u003Cth>Players\u003C\u002Fth>\n\u003Cth>TPS\u003C\u002Fth>\n\u003Cth>Average CPU\u003C\u002Fth>\n\u003Cth>Peak memory\u003C\u002Fth>\n\u003Cth>Max entities\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Baseline\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>43%\u003C\u002Ftd>\n\u003Ctd>1382 MB\u003C\u002Ftd>\n\u003Ctd>28\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 1\u003C\u002Ftd>\n\u003Ctd>17\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>95%\u003C\u002Ftd>\n\u003Ctd>1466 MB\u003C\u002Ftd>\n\u003Ctd>56\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 2\u003C\u002Ftd>\n\u003Ctd>33\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>166%\u003C\u002Ftd>\n\u003Ctd>1748 MB\u003C\u002Ftd>\n\u003Ctd>104\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 3\u003C\u002Ftd>\n\u003Ctd>46\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>215%\u003C\u002Ftd>\n\u003Ctd>1258 MB\u003C\u002Ftd>\n\u003Ctd>168\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 4\u003C\u002Ftd>\n\u003Ctd>59\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>257%\u003C\u002Ftd>\n\u003Ctd>1268 MB\u003C\u002Ftd>\n\u003Ctd>219\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 5\u003C\u002Ftd>\n\u003Ctd>70\u003C\u002Ftd>\n\u003Ctd>19.88\u003C\u002Ftd>\n\u003Ctd>256%\u003C\u002Ftd>\n\u003Ctd>1552 MB\u003C\u002Ftd>\n\u003Ctd>252\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 6\u003C\u002Ftd>\n\u003Ctd>82\u003C\u002Ftd>\n\u003Ctd>19.91\u003C\u002Ftd>\n\u003Ctd>290%\u003C\u002Ftd>\n\u003Ctd>1538 MB\u003C\u002Ftd>\n\u003Ctd>297\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 7\u003C\u002Ftd>\n\u003Ctd>94\u003C\u002Ftd>\n\u003Ctd>19.96\u003C\u002Ftd>\n\u003Ctd>341%\u003C\u002Ftd>\n\u003Ctd>1838 MB\u003C\u002Ftd>\n\u003Ctd>342\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 8\u003C\u002Ftd>\n\u003Ctd>105\u003C\u002Ftd>\n\u003Ctd>19.63\u003C\u002Ftd>\n\u003Ctd>360%\u003C\u002Ftd>\n\u003Ctd>1640 MB\u003C\u002Ftd>\n\u003Ctd>407\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 9\u003C\u002Ftd>\n\u003Ctd>114\u003C\u002Ftd>\n\u003Ctd>19.54\u003C\u002Ftd>\n\u003Ctd>398%\u003C\u002Ftd>\n\u003Ctd>1490 MB\u003C\u002Ftd>\n\u003Ctd>494\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 10\u003C\u002Ftd>\n\u003Ctd>125\u003C\u002Ftd>\n\u003Ctd>19.93\u003C\u002Ftd>\n\u003Ctd>391%\u003C\u002Ftd>\n\u003Ctd>1918 MB\u003C\u002Ftd>\n\u003Ctd>570\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 11\u003C\u002Ftd>\n\u003Ctd>135\u003C\u002Ftd>\n\u003Ctd>19.7\u003C\u002Ftd>\n\u003Ctd>467%\u003C\u002Ftd>\n\u003Ctd>1416 MB\u003C\u002Ftd>\n\u003Ctd>609\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 12\u003C\u002Ftd>\n\u003Ctd>143\u003C\u002Ftd>\n\u003Ctd>19.52\u003C\u002Ftd>\n\u003Ctd>470%\u003C\u002Ftd>\n\u003Ctd>1314 MB\u003C\u002Ftd>\n\u003Ctd>648\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 13\u003C\u002Ftd>\n\u003Ctd>150\u003C\u002Ftd>\n\u003Ctd>19.82\u003C\u002Ftd>\n\u003Ctd>339%\u003C\u002Ftd>\n\u003Ctd>1694 MB\u003C\u002Ftd>\n\u003Ctd>623\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 14\u003C\u002Ftd>\n\u003Ctd>160\u003C\u002Ftd>\n\u003Ctd>19.54\u003C\u002Ftd>\n\u003Ctd>496%\u003C\u002Ftd>\n\u003Ctd>1836 MB\u003C\u002Ftd>\n\u003Ctd>625\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 15\u003C\u002Ftd>\n\u003Ctd>166\u003C\u002Ftd>\n\u003Ctd>19.53\u003C\u002Ftd>\n\u003Ctd>500%\u003C\u002Ftd>\n\u003Ctd>1678 MB\u003C\u002Ftd>\n\u003Ctd>635\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 16\u003C\u002Ftd>\n\u003Ctd>170\u003C\u002Ftd>\n\u003Ctd>19.86\u003C\u002Ftd>\n\u003Ctd>227%\u003C\u002Ftd>\n\u003Ctd>1642 MB\u003C\u002Ftd>\n\u003Ctd>694\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Plateau\u003C\u002Ftd>\n\u003Ctd>167\u003C\u002Ftd>\n\u003Ctd>19.97\u003C\u002Ftd>\n\u003Ctd>316%\u003C\u002Ftd>\n\u003Ctd>1872 MB\u003C\u002Ftd>\n\u003Ctd>688\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Recovery\u003C\u002Ftd>\n\u003Ctd>167\u003C\u002Ftd>\n\u003Ctd>19.85\u003C\u002Ftd>\n\u003Ctd>183%\u003C\u002Ftd>\n\u003Ctd>1746 MB\u003C\u002Ftd>\n\u003Ctd>686\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>CPU is expressed on the scale of the 6 vCPU allocated for this test (100% = 1 vCPU, 600% = total capacity).\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Results, Xeon Gold 6154\u003C\u002Fh2>\n\u003Ch3>TPS stability and incidents\u003C\u002Fh3>\n\u003Cp>This test ran into several incidents that the Ryzen run didn&#39;t have.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>132 connection failures out of 256 bots launched\u003C\u002Fstrong> (sockets closed before spawn for 127, connection timeout exceeded for 5), a 52% failure rate\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2 out of 77 \u003Ccode>\u002Fstatus\u003C\u002Fcode> readings with no usable response\u003C\u002Fstrong> (3%), the phases involved have no measurement\u003C\u002Fli>\n\u003Cli>Only \u003Cstrong>126 bots\u003C\u002Fstrong> stayed connected at once at most, versus 166 on the Ryzen test (see above)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Idle tick load\u003C\u002Fstrong>: 100%, an oddly high number for a server with no bot connected, already seen on a previous Xeon test, likely tied to the test machine rather than the software itself\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The lowest TPS observed drops to \u003Cstrong>17.1\u003C\u002Fstrong>, a \u003Cstrong>14.5%\u003C\u002Fstrong> drop from the baseline. The first drop below the critical 90% of baseline threshold shows up as early as \u003Cstrong>wave 11\u003C\u002Fstrong>, with around 98 bots connected.\u003C\u002Fp>\n\u003Ch3>Connection waves\u003C\u002Fh3>\n\u003Cdiv class=\"md-table md-table--info md-table--striped\">\u003Cdiv class=\"md-table__caption\">Connection failures per wave (Xeon)\u003C\u002Fdiv>\u003Cdiv class=\"md-table__scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Wave\u003C\u002Fth>\n\u003Cth>Launched\u003C\u002Fth>\n\u003Cth>Connected\u003C\u002Fth>\n\u003Cth>Failures\u003C\u002Fth>\n\u003Cth>Cumulative connected\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>0\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>2\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>28\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>39\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>48\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>57\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>6\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>64\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>71\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>8\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>6\u003C\u002Ftd>\n\u003Ctd>81\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>86\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>10\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>93\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>11\u003C\u002Ftd>\n\u003Ctd>98\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>105\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>13\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>110\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>14\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>9\u003C\u002Ftd>\n\u003Ctd>117\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>15\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>121\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>16\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003Ctd>126\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp>Failures show up as early as wave 2 and stay at a high rate for the rest of the test, peaking at 12 failures on waves 13, 15, and 16.\u003C\u002Fp>\n\u003Ch3>Ramp-up\u003C\u002Fh3>\n\u003Cdiv class=\"md-table md-table--info md-table--striped\">\u003Cdiv class=\"md-table__caption\">Load and memory per phase (Xeon, 6 vCPU allocated)\u003C\u002Fdiv>\u003Cdiv class=\"md-table__scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Phase\u003C\u002Fth>\n\u003Cth>Players\u003C\u002Fth>\n\u003Cth>TPS\u003C\u002Fth>\n\u003Cth>Average CPU\u003C\u002Fth>\n\u003Cth>Peak memory\u003C\u002Fth>\n\u003Cth>Max entities\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Baseline\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>118%\u003C\u002Ftd>\n\u003Ctd>1398 MB\u003C\u002Ftd>\n\u003Ctd>31\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 1\u003C\u002Ftd>\n\u003Ctd>17\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>268%\u003C\u002Ftd>\n\u003Ctd>1754 MB\u003C\u002Ftd>\n\u003Ctd>50\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 2\u003C\u002Ftd>\n\u003Ctd>29\u003C\u002Ftd>\n\u003Ctd>18.98\u003C\u002Ftd>\n\u003Ctd>373%\u003C\u002Ftd>\n\u003Ctd>1520 MB\u003C\u002Ftd>\n\u003Ctd>83\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 3\u003C\u002Ftd>\n\u003Ctd>40\u003C\u002Ftd>\n\u003Ctd>19.78\u003C\u002Ftd>\n\u003Ctd>340%\u003C\u002Ftd>\n\u003Ctd>1260 MB\u003C\u002Ftd>\n\u003Ctd>147\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 4\u003C\u002Ftd>\n\u003Ctd>49\u003C\u002Ftd>\n\u003Ctd>19.39\u003C\u002Ftd>\n\u003Ctd>436%\u003C\u002Ftd>\n\u003Ctd>1386 MB\u003C\u002Ftd>\n\u003Ctd>225\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 5\u003C\u002Ftd>\n\u003Ctd>58\u003C\u002Ftd>\n\u003Ctd>19\u003C\u002Ftd>\n\u003Ctd>472%\u003C\u002Ftd>\n\u003Ctd>1292 MB\u003C\u002Ftd>\n\u003Ctd>276\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 6\u003C\u002Ftd>\n\u003Ctd>65\u003C\u002Ftd>\n\u003Ctd>18.74\u003C\u002Ftd>\n\u003Ctd>423%\u003C\u002Ftd>\n\u003Ctd>1616 MB\u003C\u002Ftd>\n\u003Ctd>342\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 7\u003C\u002Ftd>\n\u003Ctd>72\u003C\u002Ftd>\n\u003Ctd>18.41\u003C\u002Ftd>\n\u003Ctd>293%\u003C\u002Ftd>\n\u003Ctd>1388 MB\u003C\u002Ftd>\n\u003Ctd>382\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 8\u003C\u002Ftd>\n\u003Ctd>82\u003C\u002Ftd>\n\u003Ctd>18.69\u003C\u002Ftd>\n\u003Ctd>396%\u003C\u002Ftd>\n\u003Ctd>1298 MB\u003C\u002Ftd>\n\u003Ctd>442\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 9\u003C\u002Ftd>\n\u003Ctd>87\u003C\u002Ftd>\n\u003Ctd>18.71\u003C\u002Ftd>\n\u003Ctd>419%\u003C\u002Ftd>\n\u003Ctd>1216 MB\u003C\u002Ftd>\n\u003Ctd>474\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 10\u003C\u002Ftd>\n\u003Ctd>94\u003C\u002Ftd>\n\u003Ctd>18.77\u003C\u002Ftd>\n\u003Ctd>409%\u003C\u002Ftd>\n\u003Ctd>1174 MB\u003C\u002Ftd>\n\u003Ctd>503\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 11\u003C\u002Ftd>\n\u003Ctd>99\u003C\u002Ftd>\n\u003Ctd>18.43\u003C\u002Ftd>\n\u003Ctd>473%\u003C\u002Ftd>\n\u003Ctd>1462 MB\u003C\u002Ftd>\n\u003Ctd>535\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 12\u003C\u002Ftd>\n\u003Ctd>106\u003C\u002Ftd>\n\u003Ctd>18.29\u003C\u002Ftd>\n\u003Ctd>518%\u003C\u002Ftd>\n\u003Ctd>1682 MB\u003C\u002Ftd>\n\u003Ctd>543\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 13\u003C\u002Ftd>\n\u003Ctd>111\u003C\u002Ftd>\n\u003Ctd>18.85\u003C\u002Ftd>\n\u003Ctd>441%\u003C\u002Ftd>\n\u003Ctd>1444 MB\u003C\u002Ftd>\n\u003Ctd>562\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 14\u003C\u002Ftd>\n\u003Ctd>119\u003C\u002Ftd>\n\u003Ctd>18.57\u003C\u002Ftd>\n\u003Ctd>499%\u003C\u002Ftd>\n\u003Ctd>1336 MB\u003C\u002Ftd>\n\u003Ctd>570\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 15\u003C\u002Ftd>\n\u003Ctd>123\u003C\u002Ftd>\n\u003Ctd>18.67\u003C\u002Ftd>\n\u003Ctd>546%\u003C\u002Ftd>\n\u003Ctd>2152 MB\u003C\u002Ftd>\n\u003Ctd>606\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Wave 16\u003C\u002Ftd>\n\u003Ctd>128\u003C\u002Ftd>\n\u003Ctd>19.36\u003C\u002Ftd>\n\u003Ctd>386%\u003C\u002Ftd>\n\u003Ctd>1804 MB\u003C\u002Ftd>\n\u003Ctd>614\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Plateau\u003C\u002Ftd>\n\u003Ctd>127\u003C\u002Ftd>\n\u003Ctd>18.47\u003C\u002Ftd>\n\u003Ctd>493%\u003C\u002Ftd>\n\u003Ctd>1634 MB\u003C\u002Ftd>\n\u003Ctd>611\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Recovery\u003C\u002Ftd>\n\u003Ctd>125\u003C\u002Ftd>\n\u003Ctd>19.87\u003C\u002Ftd>\n\u003Ctd>243%\u003C\u002Ftd>\n\u003Ctd>1650 MB\u003C\u002Ftd>\n\u003Ctd>616\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>CPU is expressed on the scale of the 6 vCPU allocated for this test (100% = 1 vCPU, 600% = total capacity).\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Comparison\u003C\u002Fh2>\n\u003Cp>The chart below visually summarizes the key metrics for both configurations, before the detailed numbers in the table that follows.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533621470-254d6bdc66884ac6313fa98b.webp\" alt=\"Visual summary comparison between Ryzen and Xeon on key metrics\" width=\"800\" \u002F>\n\n\u003Cdiv class=\"md-table md-table--striped\">\u003Cdiv class=\"md-table__caption\">Summary comparison, Ryzen vs Xeon\u003C\u002Fdiv>\u003Cdiv class=\"md-table__scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Metric\u003C\u002Fth>\n\u003Cth>Ryzen 9 9950X\u003C\u002Fth>\n\u003Cth>Xeon Gold 6154\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Connected bots (max simultaneous)\u003C\u002Ftd>\n\u003Ctd>166\u003C\u002Ftd>\n\u003Ctd>126\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Connection failures\u003C\u002Ftd>\n\u003Ctd>90 (35%)\u003C\u002Ftd>\n\u003Ctd>132 (52%)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Idle tick load (before bots connect)\u003C\u002Ftd>\n\u003Ctd>5.6%\u003C\u002Ftd>\n\u003Ctd>100% (likely issue, see above)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Lowest TPS observed\u003C\u002Ftd>\n\u003Ctd>18.16\u003C\u002Ftd>\n\u003Ctd>17.1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Maximum TPS drop\u003C\u002Ftd>\n\u003Ctd>9.2%\u003C\u002Ftd>\n\u003Ctd>14.5%\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>First drop below 90% of baseline\u003C\u002Ftd>\n\u003Ctd>None on this profile\u003C\u002Ftd>\n\u003Ctd>Wave 11 (~98 bots)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Peak CPU (share of total allocated capacity)\u003C\u002Ftd>\n\u003Ctd>around 500% out of 600% (~83%)\u003C\u002Ftd>\n\u003Ctd>around 546% out of 600% (~91%)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Slowest typical connection time (p95)\u003C\u002Ftd>\n\u003Ctd>7336 ms (wave 14)\u003C\u002Ftd>\n\u003Ctd>6222 ms (wave 10)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Bot deaths followed by a respawn\u003C\u002Ftd>\n\u003Ctd>20\u003C\u002Ftd>\n\u003Ctd>17\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>&quot;p95&quot; means 95% of bots connected faster than this figure, only the slowest 5% took longer. It&#39;s a way to measure the common worst case without being thrown off by one or two exceptionally slow bots.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp>On this load profile, the Ryzen test held a noticeably higher number of connected bots (166 versus 126), with a lower connection failure rate (35% versus 52%) and a TPS that never dropped below the critical 90% of baseline threshold, unlike the Xeon, whose TPS drops too much as early as wave 11, with only around a hundred bots connected.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533595309-eab914d35b635336b480b66e.webp\" alt=\"Comparison chart of connected players per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Cp>The gap widens wave after wave, the Ryzen consistently accepts more connections at every step, a gap that builds up over the course of the test rather than closing back up.\u003C\u002Fp>\n\u003Cp>CPU load follows a similar trajectory, but with a consistent gap in the Ryzen&#39;s favor for almost the entire test.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533582066-b74f08a38f6229b4f40b2dc5.webp\" alt=\"Comparison chart of CPU usage per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Cp>Now let&#39;s look at memory, with the same type of chart.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533618158-2848418c9b6d5088b5d024b6.webp\" alt=\"Comparison chart of memory usage per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Cp>On memory, both configurations stay well below their 8 GB ceiling throughout the test, so RAM isn&#39;t the limiting factor on this load profile, unlike CPU, which gets noticeably closer to its total capacity, especially on the Xeon side.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533590550-335d079df5a2540279f5b915.webp\" alt=\"Comparison chart of active entities per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Cp>The number of active entities (players, objects, mobs tracked by the server) grows in a comparable way on both configurations, with no notable gap, which confirms that the performance difference really does come from the processor rather than a different load profile between the two tests.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fblog\u002Fpowernukkitx-benchmark-ryzen-xeon-july-2026-1785533611681-92962fb2e899b8ceca7d32a4.webp\" alt=\"Comparison chart of p95 connection time per wave between Ryzen and Xeon\" width=\"800\" \u002F>\n\n\u003Cp>On this run, the slowest connection times for both tests are close, with a slightly better score for the Xeon (6222 ms versus 7336 ms), a result that contrasts with previous runs where the Xeon was always the slowest.\u003C\u002Fp>\n\u003Cp>Both tests ran on the same allocation of \u003Cstrong>6 vCPU and 8 GB of RAM\u003C\u002Fstrong>, so the comparison is at equal resources. Neither run hit any test workers dropping this time, but the Xeon test shows an abnormally high idle tick load (100%), already seen on a previous Xeon test, which keeps coming back on this test machine, so it doesn&#39;t look like an isolated incident.\u003C\u002Fp>\n\u003Cp>The gap seen in connection failure rate, the number of bots held, and the point where TPS drops too much stays clearly in the Ryzen&#39;s favor.\u003C\u002Fp>\n\u003Ch2>Conclusion\u003C\u002Fh2>\n\u003Cp>On this PowerNukkitX benchmark with a progressive ramp-up to around 250 simulated bots, the \u003Cstrong>Ryzen 9 9950X\u003C\u002Fstrong> showed better stability than the \u003Cstrong>Xeon Gold 6154\u003C\u002Fstrong>, a TPS that stayed above the critical threshold throughout, a lower connection failure rate, and more simulated players held at once before TPS dropped too much. The Xeon remains a viable option for more modest loads, but starts dropping off noticeably earlier as load increases.\u003C\u002Fp>\n\u003Cp>These results reflect a specific test profile (16 waves of 16 bots with active AI) with the same resources allocated on both tests (6 vCPU and 8 GB of RAM each). If your project has very high load needs, the \u003Cstrong>Ryzen 9 9950X\u003C\u002Fstrong> is the safer choice based on these measurements.\u003C\u002Fp>\n",1788993150594]