3proxy/bench/data/m4-grace3-better.csv
Vladimir Dubrovin 5a7399450b bench: grace delay and splice() over emulated client links
Results on both machines over per-connection emulated links: seven
grace delay settings with a fifth client CPU; the promising ones over
three link qualities (100 Mbit/s 2 ms 0.1%, 20 Mbit/s 5 ms 0.5%,
5 Mbit/s 25 ms 1%); copying against splice() with and without grace
delay, the CONNECT mix included; and the slow link with waits matched
to its rate (10 and 20 ms).

Grace delay saves 35-46% of 3proxy's CPU per gigabyte on streams at
20 Mbit/s and 21-29% at 5 Mbit/s with a 10 ms wait, does nothing on
fast links, and costs CPU with waits too short for the rate or once
the CPU is exhausted. Over these links splice() and copying cost about
the same in the mix scenarios. A caveat says that every scenario but
the mix ones is synthetic.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 17:06:47 +03:00

56 lines
13 KiB
Plaintext

proxy,scenario,rep,gbit,rate,p50_ms,p90_ms,p99_ms,errors,timeouts,retrans,prx_cpu_s,prx_task_s,cpu_s_per_gb,cpu_us_per_req,peak_mb,cli_util,prx_util,srv_util,cli_thread,srv_thread,bound
nginx-halfclose,relay-stream16,0,1.5197937816566662,nan,nan,nan,nan,0,0,1100,8.24,5.2762389999999995,4.333210017748828,nan,32.68359375,0.0577019568489714,0.7363717605004468,0.28766455387615797,0.04659122391292757,0.33800459850545406,none
3proxy-devel,relay-stream16,0,1.5178317816989428,nan,nan,nan,nan,0,0,1377,9.58,7.763488000000001,5.044488895670854,nan,5.62890625,0.06818764419379646,0.8944911297852475,0.29003021148036257,0.042770388494124185,0.37208640153649725,none
"3proxy-devel-g8000,2,2",relay-stream16,0,1.5196108289365156,nan,nan,nan,nan,0,0,1426,9.64,8.044172999999999,5.070833099920712,nan,4.8671875,0.045732517947354424,0.9068673565380997,0.3042606516290727,0.036136158136357156,0.38941279048386634,proxy
"3proxy-devel-g6000,2,2",relay-stream16,0,1.522210352491903,nan,nan,nan,nan,0,0,1118,9.59,7.895031,5.035851989447829,nan,5.80078125,0.037846481876332626,0.9013157894736842,0.29506545820745217,0.033290307838987454,0.38173698718538807,proxy
"3proxy-devel-g6000,3,2",relay-stream16,0,1.5207197902001974,nan,nan,nan,nan,0,0,1255,9.6,7.782509999999999,5.04561776660237,nan,7.7890625,0.0389920424403183,0.897196261682243,0.29396984924623115,0.03614891578916929,0.38000493544789754,none
"3proxy-devel-g8000,2,3",relay-stream16,0,1.5201290370022236,nan,nan,nan,nan,0,0,1528,9.72,8.176627,5.110800471657478,nan,4.32421875,0.06094329623741388,0.9101123595505618,0.3017632241813602,0.03993064845471943,0.38728524089884475,proxy
nginx-halfclose,mix-relay-3k,0,0.4985129048,1982.8,1703.936,3276.8,6029.312,0,0,0,7.35,3.5929249999999997,11.79508081613056,370.68791607827313,754.546875,0.7766410912190963,0.6166107382550335,0.22636363636363635,1.6947830293775685,0.2849053732365753,client
3proxy-devel,mix-relay-3k,0,0.480300364,1922,2031.616,3670.016,6291.456,0,0,0,8.96,5.3926359999999995,14.923994519396201,466.18106139438083,1534.390625,0.7839506172839507,0.7529411764705882,0.2682926829268293,1.5531723609125685,0.35005338786549944,client
"3proxy-devel-g8000,2,2",mix-relay-3k,0,0.495507084,1970.3,1900.544,3407.872,6291.456,0,0,0,8.52,4.725255000000001,13.75560556062605,432.4214586611176,1535.78125,0.783816425120773,0.7251063829787234,0.24826308476146364,1.6356059981212292,0.3076488561471491,client
"3proxy-devel-g6000,2,2",mix-relay-3k,0,0.48287587439999996,1924.8,1769.472,3538.944,6291.456,0,0,0,8.42,4.7308710000000005,13.949754703255476,437.44804655029094,1530.421875,0.7908632968560014,0.7246127366609294,0.2414759458197104,1.6412671225653386,0.30796840661474983,client
"3proxy-devel-g6000,3,2",mix-relay-3k,0,0.487372528,1924.5,2097.152,3801.088,6553.6,1,0,0,8.5,4.836101000000001,13.952366227749298,441.67316186022344,1531.015625,0.7938271604938272,0.743006993006993,0.24680851063829787,1.6539630292923544,0.3072660402809062,client
"3proxy-devel-g8000,2,3",mix-relay-3k,0,0.4697415608,1880.2,1835.008,3538.944,6291.456,0,0,0,8.94,5.330570000000001,15.225393273313276,475.48133177321563,1524.39453125,0.7743607463718037,0.7614991482112436,0.2642295233688107,1.65347062801864,2.8762057741531373,origin
nginx-halfclose,mix-http-3k,0,0.49406255039999997,1962.9,1703.936,3407.872,6029.312,0,0,0,6.95,3.1941349999999997,11.253635790647452,354.0679606704366,530.68359375,0.762582613116421,0.572959604286892,0.17186813186813188,1.6396175825039987,0.20424898857963328,client
3proxy-devel,mix-http-3k,0,0.4313888288,1768.2,2228.224,4063.232,6553.6,0,0,0,9.87,7.398371000000001,18.30367286506794,558.1947743467933,1769.73046875,0.7738461538461539,0.8515962036238136,0.27255726975222067,1.6303900064326375,0.3830629717958997,client
"3proxy-devel-g8000,2,2",mix-http-3k,0,0.4300938312,1826.8,2228.224,4063.232,6291.456,0,0,0,10.4,8.182551,19.34461598016056,569.301510838625,1796.36328125,0.7735101619014813,0.8957795004306632,0.2928436911487759,1.665556024497354,0.41284061408566275,client
"3proxy-devel-g6000,2,2",mix-http-3k,0,0.4281417216,1765.7,2097.152,4063.232,6291.456,0,0,0,8.91,6.152481,16.648692805181636,504.6157331369995,1763.51171875,0.7901365974809296,0.8041516245487365,0.2537823328452904,1.6184067301120322,0.3515396195733748,client
"3proxy-devel-g6000,3,2",mix-http-3k,0,0.4610462312,1823.7,2490.368,4194.304,6291.456,0,0,0,10.36,8.070208999999998,17.976505259414427,568.0758896748368,1768.04296875,0.7666148800276196,0.8907996560619088,0.28330995792426367,1.6296759431118804,0.3964005955920919,client
"3proxy-devel-g8000,2,3",mix-http-3k,0,0.446004792,1845.3,2228.224,3932.16,6291.456,0,0,0,9.57,7.134555,17.165734847082092,518.6148593724598,1796.9609375,0.7866071428571428,0.8590664272890485,0.2767944936086529,1.6182855497839692,0.3905224753506673,client
3proxy-devel,relay-stream16,1,1.5219544304809254,nan,nan,nan,nan,0,0,1408,9.72,8.252146,5.104819635420252,nan,5.22265625,0.04752851711026616,0.9135338345864662,0.3028628829733802,0.036142292422000045,0.3866243545783022,proxy
"3proxy-devel-g8000,2,2",relay-stream16,1,1.5189135991244362,nan,nan,nan,nan,0,0,1403,9.7,8.139294,5.1045059286194645,nan,7.2265625,0.04806408544726302,0.9090909090909091,0.29521410579345087,0.03993423484052298,0.3816733626043633,proxy
"3proxy-devel-g6000,2,2",relay-stream16,1,1.52517257941504,nan,nan,nan,nan,0,0,1344,9.66,8.057223,5.062157508886256,nan,4.33203125,0.045009266613714585,0.9070422535211268,0.3056528264132066,0.0342180244289523,0.389300171409241,proxy
"3proxy-devel-g6000,3,2",relay-stream16,1,1.5199210101670477,nan,nan,nan,nan,0,0,1383,9.63,7.917616,5.0638272338505415,nan,5.125,0.04994797086368366,0.9025304592314901,0.2961091460333502,0.03328443097826529,0.3855521421859964,proxy
"3proxy-devel-g8000,2,3",relay-stream16,1,1.5211650795005227,nan,nan,nan,nan,0,0,1490,9.62,8.069789,5.055084743482678,nan,5.75390625,0.0543190249072602,0.9066918001885014,0.29307731177362306,0.03708295126035287,0.3807329584563581,proxy
nginx-halfclose,relay-stream16,1,1.523333095252893,nan,nan,nan,nan,0,0,1260,8.43,5.462334,4.4236739733432495,nan,32.0546875,0.04406689673480223,0.7526785714285714,0.2979970688812897,0.036131179145742216,0.35319262636772125,none
3proxy-devel,mix-relay-3k,1,0.4790722528,1916.3,1966.08,3670.016,6291.456,0,0,0,8.71,5.206232999999999,14.54477891231358,454.5217345927047,1530.171875,0.7792521109770808,0.74190800681431,0.2632305568338702,1.6781686599616508,0.3512628257006808,client
"3proxy-devel-g8000,2,2",mix-relay-3k,1,0.5037882104,1987,1703.936,3276.8,6029.312,0,0,0,8.52,4.723053,13.529494853776354,428.78711625566183,1538.5390625,0.7848123162082684,0.7263427109974424,0.24101382488479262,1.6526209123763116,0.30399527359817735,client
"3proxy-devel-g6000,2,2",mix-relay-3k,1,0.48424996639999995,1931.8,1835.008,3538.944,6553.6,0,0,0,8.52,4.922916000000001,14.075375266768422,441.03944507713015,1527.421875,0.7886093640810622,0.7383015597920277,0.2512820512820513,1.6337638884654717,0.32627360289718915,client
"3proxy-devel-g6000,3,2",mix-relay-3k,1,0.4745066376,1907.2,1900.544,3538.944,6291.456,0,0,0,8.48,4.7779739999999995,14.296954905231026,444.6308724832215,1526.640625,0.7920931874338157,0.7393199651264167,0.2516431924882629,1.6496351676602474,0.31212815625719126,client
"3proxy-devel-g8000,2,3",mix-relay-3k,1,0.4630327488,1849.1,1900.544,3801.088,6291.456,0,0,0,8.77,5.392079,15.152275985192691,474.28478719376994,1530.17578125,0.7974504249291785,0.7802491103202847,0.25738798856053385,1.7336829627471153,0.34632625270768136,client
nginx-halfclose,mix-relay-3k,1,0.469943,1882.4,2031.616,3670.016,6291.456,0,0,0,7.47,3.9649820000000005,12.716435823067902,396.83382915427114,753.26953125,0.7707799965864482,0.6357446808510638,0.23251589464123523,1.7383112680482518,0.3005632683223655,client
3proxy-devel,mix-http-3k,1,0.47587146160000005,1956.6,1966.08,3538.944,6029.312,0,0,0,9.3,6.584326,15.634474013181716,475.31432076050294,1799.51171875,0.7775225304824174,0.8370837083708371,0.27882296189097927,1.481018899011495,0.38765508941708904,client
"3proxy-devel-g8000,2,2",mix-http-3k,1,0.4712112992,1871.5,1966.08,3801.088,6553.6,0,0,0,9.01,5.844727000000001,15.296746941844132,481.432006411969,1758.0546875,0.7780908770693906,0.8037466547725245,0.25096153846153846,1.5789244390618906,0.3408627806627572,client
"3proxy-devel-g6000,2,2",mix-http-3k,1,0.4554669256,1819.2,2097.152,3932.16,6553.6,0,0,0,9.09,6.218589999999999,15.966033077858242,499.67018469656995,1751.62109375,0.7871208089409261,0.8159784560143627,0.2594752186588921,1.630326978062741,0.3662656722320729,client
"3proxy-devel-g6000,3,2",mix-http-3k,1,0.43183987760000003,1868,2359.296,3932.16,6553.6,0,0,0,9.25,6.557521,17.135981144507436,495.1820128479657,1793.1015625,0.7864555848724715,0.8251561106155219,0.2658653846153846,1.5878527649563356,0.3655333503473147,client
"3proxy-devel-g8000,2,3",mix-http-3k,1,0.4602133248,1838.3,2228.224,3932.16,6553.6,0,0,0,9.94,7.296144000000001,17.27894341924104,540.71696676277,1756.796875,0.7640275387263339,0.8613518197573656,0.26691553896406905,1.6013828791942293,0.36283717288981554,client
nginx-halfclose,mix-http-3k,1,0.483344936,1909.5,2097.152,3801.088,6553.6,0,0,0,6.86,3.317646,11.354210194932092,359.25634982979835,517.66796875,0.7795847750865051,0.5858240819812126,0.18112014453477868,1.6661046152797563,0.21435298045610388,client
"3proxy-devel-g8000,2,2",relay-stream16,2,1.5216942671226452,nan,nan,nan,nan,0,0,1385,9.67,7.999354,5.079259560563683,nan,5.32421875,0.05630097342804525,0.9054307116104869,0.3001493280238925,0.036147463850846974,0.3855863466871867,proxy
"3proxy-devel-g6000,2,2",relay-stream16,2,1.5217408196857887,nan,nan,nan,nan,0,0,1214,9.66,7.97281,5.072959194099325,nan,5.04296875,0.0489564545220304,0.9036482694106641,0.29,0.037090275758182745,0.37720873291664264,proxy
"3proxy-devel-g6000,3,2",relay-stream16,2,1.5215612496038893,nan,nan,nan,nan,0,0,1451,9.73,8.198363,5.110775131777109,nan,4.953125,0.0437246963562753,0.9119025304592315,0.2999001996007984,0.038042238335942315,0.3902500550729992,proxy
"3proxy-devel-g8000,2,3",relay-stream16,2,1.5203539073722143,nan,nan,nan,nan,0,0,1207,9.49,7.6502680000000005,4.989178204352433,nan,5.13671875,0.042586341210075304,0.8919172932330827,0.2895132965378826,0.03518904412973313,0.3845900023491623,none
nginx-halfclose,relay-stream16,2,1.5232751038323264,nan,nan,nan,nan,0,0,1216,8.4,5.416289,4.407931361338469,nan,35.01953125,0.0338626809901915,0.6885245901639344,0.2549019607843137,0.032104001000423356,0.31799714401377865,none
3proxy-devel,relay-stream16,2,1.516187533364886,nan,nan,nan,nan,0,0,1422,9.48,7.508388,4.9976962518138475,nan,5.47265625,0.05140664961636829,0.8868101028999065,0.29199604743083,0.03614990294427797,0.38289636690466755,none
"3proxy-devel-g8000,2,2",mix-relay-3k,2,0.4943908248,1948.9,1900.544,3538.944,6291.456,0,0,0,9.03,5.385478,14.611921657167454,463.3382933962748,1526.015625,0.7783469945355191,0.76010101010101,0.2616780045351474,1.67134472096355,0.3505855053265852,client
"3proxy-devel-g6000,2,2",mix-relay-3k,2,0.4746365144,1887.3,1835.008,3670.016,6291.456,0,0,0,8.94,5.29041,15.06837291909794,473.69257669686857,1527.953125,0.7724632729757431,0.7569856054191363,0.2549728752260398,1.705834798683607,0.3282585557044291,client
"3proxy-devel-g6000,3,2",mix-relay-3k,2,0.494409476,1957.1,1966.08,3538.944,6291.456,0,0,0,8.86,5.243473,14.336294800304353,452.7106432987584,1530.7578125,0.7865502183406113,0.7618228718830611,0.2631086142322097,1.681119310783075,0.3482832034569841,client
"3proxy-devel-g8000,2,3",mix-relay-3k,2,0.4931189184,1965.5,1900.544,3407.872,6291.456,0,0,0,9.1,5.435179,14.76317319891331,462.98651742559144,1527.3984375,0.7765723003898966,0.7627829002514669,0.2511353315168029,1.6639615666072651,0.32071877719904635,client
nginx-halfclose,mix-relay-3k,2,0.4991721928,1989.1,1703.936,3276.8,6029.312,0,0,0,7.32,3.498183,11.731422712375096,368.0056306872455,755.15234375,0.7633327653774067,0.6125523012552301,0.22363060208239022,1.6285602280878433,0.2739447104974635,client
3proxy-devel,mix-relay-3k,2,0.478936252,1908.2,2097.152,3670.016,6553.6,0,0,0,8.66,5.049348,14.465390688362426,453.8308353422073,1528.21875,0.7959111737751146,0.7550130775937227,0.25833724753405357,1.6940058072929614,0.33631108086872213,client
"3proxy-devel-g8000,2,2",mix-http-3k,2,0.473667156,1885.6,2097.152,3801.088,6553.6,0,0,0,9.63,6.68525,16.26458559013959,510.71277047093764,1763.5546875,0.762610770279482,0.8337662337662337,0.26131591227251516,1.581621251100633,0.3601313885069279,client
"3proxy-devel-g6000,2,2",mix-http-3k,2,0.4485293328,1814.9,2228.224,3932.16,6815.744,0,0,0,9.08,6.135001000000001,16.195150392179656,500.3030469998347,1769.6796875,0.7873471557682084,0.8194945848375451,0.2579864472410455,1.6213946757841344,0.3535673390225643,client
"3proxy-devel-g6000,3,2",mix-http-3k,2,0.45095004639999997,1840.7,2228.224,3932.16,6291.456,0,0,0,10.02,7.3743240000000005,17.775804801425117,544.3581246265007,1774.4921875,0.7674498963372495,0.8652849740932642,0.27708042770804275,1.6100404302475126,0.3876171414673682,client
"3proxy-devel-g8000,2,3",mix-http-3k,2,0.47348678639999997,1867.1,2097.152,3801.088,6553.6,0,0,0,8.59,5.523769999999999,14.513604597604457,460.07176905361257,1754.80859375,0.7924528301886793,0.7823315118397086,0.245074483421432,1.642872291841311,0.33002760362062267,client
nginx-halfclose,mix-http-3k,2,0.5017067208,1989.1,1703.936,3407.872,6029.312,0,0,0,6.89,3.2857450000000004,10.986498229903718,346.387813584033,527.79296875,0.791445740544362,0.5975715524718127,0.174931129476584,1.665326161502412,0.2137324346928233,client
3proxy-devel,mix-http-3k,2,0.482279124,1889.5,2031.616,3670.016,6291.456,0,0,0,8.88,5.75274,14.730059101625143,469.9655993649113,1759.91796875,0.7870239774330042,0.7978436657681941,0.25970873786407767,1.6305046545649682,0.3632722267908676,client