Commit eb4eac9
committed
[roda] Mark upload as io bound
Use Puma 8's new 'mark_as_io_bound' option allow more threads on the IO
heavy upload call.
It seems only the baseline call benefits from this.
Before
------
| Test | Conn | RPS | CPU | Mem | Δ RPS | Δ Mem |
|------|------|-----|-----|-----|-------|-------|
| baseline | 512 | 75,252 | 4506.6% | 7.1GiB | +0.1% | ~0% |
| baseline | 4096 | 37,996 | 3896.3% | 5.4GiB | +1.4% | -10.0% |
| pipelined | 512 | 583,729 | 6455.6% | 1.7GiB | -12.0% | -10.5% |
| pipelined | 4096 | 562,005 | 6432.4% | 2.1GiB | -14.3% | ~0% |
| limited-conn | 512 | 28,537 | 3693.9% | 4.9GiB | -5.8% | -7.5% |
| limited-conn | 4096 | 28,977 | 3489.3% | 5.1GiB | -1.0% | -3.8% |
| json | 4096 | 231,255 | 6362.4% | 4.3GiB | -9.0% | -21.8% |
| json-comp | 512 | 128,684 | 6473.1% | 4.0GiB | -2.9% | -2.4% |
| json-comp | 4096 | 131,000 | 6500.5% | 3.6GiB | -2.2% | -10.0% |
| json-comp | 16384 | 130,762 | 6515.4% | 4.1GiB | -1.8% | +5.1% |
| json-tls | 4096 | 205,209 | 6514.8% | 5.1GiB | -8.0% | -1.9% |
| upload | 32 | 965 | 3102.4% | 8.3GiB | -0.4% | -3.5% |
| upload | 256 | 895 | 6517.6% | 6.9GiB | +3.9% | -19.8% |
| api-4 | 256 | 18,551 | 396.5% | 489MiB | -1.3% | +28.3% |
| api-16 | 1024 | 46,029 | 1676.7% | 1.5GiB | -5.7% | +7.1% |
| static | 1024 | 142,223 | 6539.9% | 6.3GiB | -43.4% | -13.7% |
| static | 4096 | 140,111 | 6528.3% | 6.7GiB | -42.4% | -14.1% |
| static | 6800 | 138,172 | 6484.5% | 7.1GiB | -42.7% | -4.1% |
| async-db | 1024 | 108,099 | 6396.5% | 2.5GiB | -8.6% | -7.4% |
After when enabled for all tests
--------------------------------
| Test | Conn | RPS | CPU | Mem | Δ RPS | Δ Mem |
|------|------|-----|-----|-----|-------|-------|
| baseline | 512 | 103,762 | 4938.2% | 10.2GiB | +38.0% | +43.7% |
| baseline | 4096 | 57,379 | 4092.2% | 8.9GiB | +53.1% | +48.3% |
| pipelined | 512 | 565,924 | 6517.1% | 1.7GiB | -14.6% | -10.5% |
| pipelined | 4096 | 548,129 | 6413.7% | 2.0GiB | -16.4% | -4.8% |
| limited-conn | 512 | 28,662 | 3767.3% | 5.6GiB | -5.3% | +5.7% |
| limited-conn | 4096 | 28,806 | 3548.4% | 6.5GiB | -1.6% | +22.6% |
| json | 4096 | 230,980 | 6328.1% | 4.7GiB | -9.2% | -14.5% |
| json-comp | 512 | 123,348 | 6447.6% | 3.5GiB | -6.9% | -14.6% |
| json-comp | 4096 | 131,084 | 6508.4% | 3.7GiB | -2.2% | -7.5% |
| json-comp | 16384 | 129,825 | 6280.0% | 4.3GiB | -2.5% | +10.3% |
| json-tls | 4096 | 201,924 | 6498.8% | 5.0GiB | -9.5% | -3.8% |
| upload | 32 | 961 | 3150.3% | 7.8GiB | -0.8% | -9.3% |
| upload | 256 | 900 | 6532.3% | 6.8GiB | +4.5% | -20.9% |
| api-4 | 256 | 18,413 | 395.8% | 496MiB | -2.0% | +30.2% |
| api-16 | 1024 | 45,106 | 1639.4% | 1.2GiB | -7.6% | -14.3% |
| static | 1024 | 140,836 | 6526.6% | 6.0GiB | -44.0% | -17.8% |
| static | 4096 | 136,155 | 6530.6% | 6.4GiB | -44.0% | -17.9% |
| static | 6800 | 137,830 | 6546.6% | 6.4GiB | -42.8% | -13.5% |
| async-db | 1024 | 109,209 | 6375.1% | 2.6GiB | -7.6% | -3.7% |1 parent 78d93bd commit eb4eac9
4 files changed
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
20 | 35 | | |
21 | 36 | | |
22 | 37 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
0 commit comments