107 lines
4.1 KiB
Markdown
107 lines
4.1 KiB
Markdown
|
2024-02-10 Joakim Frostegård
|
||
|
|
||
|
# UDP BitTorrent tracker throughput comparison
|
||
|
|
||
|
This is a performance comparison of several UDP BitTorrent tracker implementations.
|
||
|
|
||
|
Benchmarks were run using [aquatic_bencher](../crates/bencher), with `--cpu-mode subsequent-one-per-pair`.
|
||
|
|
||
|
## Software and hardware
|
||
|
|
||
|
### Tracker implementations
|
||
|
|
||
|
| Name | Commit |
|
||
|
|---------------|---------|
|
||
|
| [aquatic_udp] | 21a5301 |
|
||
|
| [opentracker] | 110868e |
|
||
|
| [chihaya] | 2f79440 |
|
||
|
|
||
|
[aquatic_udp]: ../crates/udp
|
||
|
[opentracker]: http://erdgeist.org/arts/software/opentracker/
|
||
|
[chihaya]: https://github.com/chihaya/chihaya
|
||
|
|
||
|
### OS and compilers
|
||
|
|
||
|
| Name | Version |
|
||
|
|--------|---------|
|
||
|
| Debian | 12.4 |
|
||
|
| Linux | 6.5.10 |
|
||
|
| rustc | 1.76.0 |
|
||
|
| GCC | 12.2.0 |
|
||
|
| go | 1.19.8 |
|
||
|
|
||
|
### Hardware
|
||
|
|
||
|
Hetzner CCX63: 48 dedicated vCPUs (AMD Milan Epyc 7003)
|
||
|
|
||
|
## Results
|
||
|
|
||
|

|
||
|
|
||
|
<table>
|
||
|
<caption>
|
||
|
<strong>UDP BitTorrent tracker troughput</strong>
|
||
|
<p>Average responses per second, best result.</p>
|
||
|
</caption>
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th>CPU cores</th>
|
||
|
<th>aquatic_udp (mio)</th>
|
||
|
<th>aquatic_udp (io_uring)</th>
|
||
|
<th>opentracker</th>
|
||
|
<th>chihaya</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>1</th>
|
||
|
<td><span title="socket workers: 1, avg cpu utilization: 95.3%">186,939</span></td>
|
||
|
<td><span title="socket workers: 1, avg cpu utilization: 95.3%">226,065</span></td>
|
||
|
<td><span title="workers: 1, avg cpu utilization: 95.3%">190,540</span></td>
|
||
|
<td><span title="avg cpu utilization: 95.3%">55,989</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<th>2</th>
|
||
|
<td><span title="socket workers: 2, avg cpu utilization: 190%">371,478</span></td>
|
||
|
<td><span title="socket workers: 2, avg cpu utilization: 190%">444,353</span></td>
|
||
|
<td><span title="workers: 2, avg cpu utilization: 190%">379,623</span></td>
|
||
|
<td><span title="avg cpu utilization: 186%">111,226</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<th>4</th>
|
||
|
<td><span title="socket workers: 4, avg cpu utilization: 381%">734,709</span></td>
|
||
|
<td><span title="socket workers: 4, avg cpu utilization: 381%">876,642</span></td>
|
||
|
<td><span title="workers: 4, avg cpu utilization: 381%">748,401</span></td>
|
||
|
<td><span title="avg cpu utilization: 300%">136,983</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<th>6</th>
|
||
|
<td><span title="socket workers: 6, avg cpu utilization: 565%">1,034,804</span></td>
|
||
|
<td><span title="socket workers: 6, avg cpu utilization: 572%">1,267,006</span></td>
|
||
|
<td><span title="workers: 6, avg cpu utilization: 567%">901,600</span></td>
|
||
|
<td><span title="avg cpu utilization: 414%">131,827</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<th>8</th>
|
||
|
<td><span title="socket workers: 8, avg cpu utilization: 731%">1,296,693</span></td>
|
||
|
<td><span title="socket workers: 8, avg cpu utilization: 731%">1,521,113</span></td>
|
||
|
<td><span title="workers: 8, avg cpu utilization: 756%">1,170,928</span></td>
|
||
|
<td><span title="avg cpu utilization: 462%">131,779</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<th>12</th>
|
||
|
<td><span title="socket workers: 12, avg cpu utilization: 1064%">1,871,353</span></td>
|
||
|
<td><span title="socket workers: 12, avg cpu utilization: 957%">1,837,223</span></td>
|
||
|
<td><span title="workers: 12, avg cpu utilization: 1127%">1,675,059</span></td>
|
||
|
<td><span title="avg cpu utilization: 509%">130,942</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<th>16</th>
|
||
|
<td><span title="socket workers: 16, avg cpu utilization: 1126%">2,037,713</span></td>
|
||
|
<td><span title="socket workers: 16, avg cpu utilization: 1109%">2,258,321</span></td>
|
||
|
<td><span title="workers: 16, avg cpu utilization: 1422%">1,645,828</span></td>
|
||
|
<td><span title="avg cpu utilization: 487%">127,256</span></td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|