3proxy/bench/data/skylake-splice-g-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
3proxy-devel-s0,relay-stream16,0,1.5263789190917814,nan,nan,nan,nan,0,0,1251,5.55,2.212581,2.906984734892043,nan,6.3046875,0.11541381928625664,0.5270655270655271,0.15026921194322077,0.0351663040683412,0.17949261766466204,none
3proxy-devel-s,relay-stream16,0,1.5271043643536826,nan,nan,nan,nan,0,0,1273,5.54,2.1805779999999997,2.9003530984097305,nan,6.234375,0.10729206228636537,0.5226415094339623,0.13816756491915727,0.03421618208585567,0.17380566702059222,none
"3proxy-devel-s0-g8000,2,2",relay-stream16,0,1.5274901747304237,nan,nan,nan,nan,0,0,1215,5.38,2.2129939999999997,2.8160086840096734,nan,6.00390625,0.10385418644389596,0.5099526066350711,0.13901125795398922,0.03326978786228697,0.1709704742673687,none
"3proxy-devel-s-g8000,2,2",relay-stream16,0,1.524952880767696,nan,nan,nan,nan,0,0,1329,5.3,2.1269180000000003,2.7783283644101275,nan,6.33984375,0.1020718494582779,0.5004721435316336,0.13685239491691104,0.0342122569129256,0.1690394315242623,none
"3proxy-devel-s0-g6000,3,2",relay-stream16,0,1.5272550302847883,nan,nan,nan,nan,0,0,1367,5.26,2.092174,2.7533869800600344,nan,6.59765625,0.10423390924625024,0.4981060606060606,0.13984298331697742,0.03232111381315605,0.17282252413558497,none
"3proxy-devel-s-g6000,3,2",relay-stream16,0,1.5273768316559966,nan,nan,nan,nan,0,0,1311,5.31,2.141356,2.7795598600986273,nan,6.765625,0.10125379939209726,0.5023651844843898,0.1371400683260127,0.0332692887208923,0.16908122100925566,none
3proxy-devel-s0,mix-relay-3k,0,1.0904269224,2997.7,8.192,20.48,81.92,0,0,0,6.48,2.474058,4.754101254754566,216.1657270574107,1345.00390625,0.5210587326120556,0.6050420168067226,0.22464454976303316,1.060087023878207,0.2660670247784175,client
3proxy-devel-s,mix-relay-3k,0,1.094272352,2998.7,8.192,20.48,86.016,0,0,0,6.2,2.132666,4.5326924242713575,206.75626104645346,1348.8671875,0.5384461353624349,0.6007751937984496,0.22002960039467193,1.0762755435620783,0.2661155438257539,client
"3proxy-devel-s0-g8000,2,2",mix-relay-3k,0,1.0849220488,2998.2,8.704,21.504,114.688,0,0,0,6.22,2.344609,4.586504629990519,207.45780801814422,1333.5546875,0.530990919857876,0.5957854406130269,0.2141119221411192,1.070831812104155,0.2568980554362566,client
"3proxy-devel-s-g8000,2,2",mix-relay-3k,0,1.0849515672,2998.4,8.704,21.504,81.92,0,0,0,6.32,2.2585469999999996,4.660115854801081,210.77908217716114,1355.82421875,0.5284360189573459,0.6059443911792906,0.21720116618075802,1.069443821858669,0.26244706529837436,client
"3proxy-devel-s0-g6000,3,2",mix-relay-3k,0,1.0902520952,2998.4,8.192,20.48,81.92,0,0,0,6.41,2.4941640000000005,4.703499330638113,213.78068303094983,1336.09375,0.5149597238204833,0.5990654205607476,0.21323179438362685,1.0591254936371726,0.2582543124622729,client
"3proxy-devel-s-g6000,3,2",mix-relay-3k,0,1.08463084,2997.8,8.192,20.48,86.016,0,0,0,5.95,2.032986,4.388589946419005,198.47888451531122,1343.15234375,0.5351632939290724,0.5737704918032787,0.21970443349753693,1.074102811986846,0.2716521904869409,client
3proxy-devel-s0,mix-http-3k,0,1.1039109055999998,3036.8,8.704,27.648,221.184,0,0,0,7.62,3.7891980000000003,5.522184778749595,250.92202318229715,1587.5703125,0.540626871631064,0.7559523809523809,0.25667655786350146,1.0670629149102169,0.32051293914502454,client
3proxy-devel-s,mix-http-3k,0,1.0964224824000002,3013.5,10.24,59.392,212.992,0,0,0,8.34,4.0534040000000005,6.08524552086474,276.75460428073666,1599.95703125,0.5514218932606155,0.8065764023210832,0.2754607177497575,1.0843022628237915,0.344947767181857,client
"3proxy-devel-s0-g8000,2,2",mix-http-3k,0,1.0853017344,2998.2,8.704,22.528,86.016,0,0,0,7.62,3.758294,5.616871149081986,254.15249149489694,1588.6796875,0.5456161137440758,0.75,0.27094561489465946,1.0771644845000221,0.3429691236831177,client
"3proxy-devel-s-g8000,2,2",mix-http-3k,0,1.0910588512000001,2998.9,8.704,21.504,77.824,0,0,0,7.64,3.5731559999999996,5.6018976366652655,254.76007869552168,1588.48046875,0.552988047808765,0.7609561752988048,0.2662369856222112,1.0803392469019295,0.34204469281715766,client
"3proxy-devel-s0-g6000,3,2",mix-http-3k,0,1.0903900024000002,2997.7,8.704,21.504,81.92,0,0,0,7.36,3.6086289999999996,5.399902775190742,245.521566534343,1590.76953125,0.535183349851338,0.7208619000979432,0.2642892037127504,1.0692484868398473,0.3317167560668916,client
"3proxy-devel-s-g6000,3,2",mix-http-3k,0,1.0912112864,2998.6,8.704,21.504,102.4,0,0,0,7.25,3.3403270000000003,5.3151942912308945,241.77949709864603,1577.6328125,0.5404221425726802,0.7135826771653543,0.26512543039842595,1.0722392163156944,0.3362913558734865,client
3proxy-devel-s,relay-stream16,1,1.5261727125132598,nan,nan,nan,nan,0,0,2028,5.26,2.0817949999999996,2.755088235231017,nan,5.7109375,0.10738000379434642,0.4966949952785647,0.14041930765480254,0.03231486275789616,0.16899004658177547,none
"3proxy-devel-s0-g8000,2,2",relay-stream16,1,1.52761387452317,nan,nan,nan,nan,0,0,1286,5.47,2.244619,2.8625274769145688,nan,7.30078125,0.1087866108786611,0.5189753320683111,0.14621026894865527,0.034212570862611175,0.17664057279923648,none
"3proxy-devel-s-g8000,2,2",relay-stream16,1,1.5274312511498926,nan,nan,nan,nan,0,0,1395,5.1,2.05712,2.6694506112359355,nan,9.796875,0.10173036698992204,0.4838709677419355,0.13536047081902894,0.03136986075349658,0.16907084061860064,none
"3proxy-devel-s0-g6000,3,2",relay-stream16,1,1.5278037437035112,nan,nan,nan,nan,0,0,1474,5.45,2.196434,2.851669994877752,nan,4.8125,0.10824154956323585,0.5151228733459358,0.13725490196078433,0.03231613328040612,0.1719121347315336,none
"3proxy-devel-s-g6000,3,2",relay-stream16,1,1.527349050685758,nan,nan,nan,nan,0,0,1245,5.38,2.142977,2.8162018921526584,nan,6.61328125,0.10534322114470432,0.5085066162570888,0.13418217433888344,0.03326447601710847,0.1699913120580985,none
3proxy-devel-s0,relay-stream16,1,1.5273943117416453,nan,nan,nan,nan,0,0,1028,5.24,1.975608,2.7427296476228045,nan,6.6171875,0.10315349544072948,0.49433962264150944,0.1457725947521866,0.03327114134974267,0.17098052597952645,none
3proxy-devel-s,mix-relay-3k,1,1.0966785855999999,2997.8,8.192,20.48,77.824,0,0,0,6.4,2.215134,4.6686422687818006,213.4898925878978,1341.49609375,0.5436,0.6219630709426628,0.23008849557522124,1.0849666498071018,0.2845991985153695,client
"3proxy-devel-s0-g8000,2,2",mix-relay-3k,1,1.0908262344000001,2997.5,8.704,21.504,77.824,0,0,0,6.23,2.4029360000000004,4.56901369148076,207.8398665554629,1346.6015625,0.529366005445352,0.5933333333333334,0.2219020172910663,1.0784717553720586,0.2723588702599655,client
"3proxy-devel-s-g8000,2,2",mix-relay-3k,1,1.0849977672,2998.1,8.704,20.48,81.92,0,0,0,6.02,2.086541,4.438718811770841,200.79383609619427,1360.32421875,0.5323926868044515,0.5794032723772858,0.22439024390243903,1.0674422428073884,0.27590714179567044,client
"3proxy-devel-s0-g6000,3,2",mix-relay-3k,1,1.0912742975999998,2999,8.192,20.48,98.304,0,0,0,5.91,2.1893779999999996,4.332549580245882,197.0656885628543,1342.7578125,0.5336519315013939,0.5760233918128655,0.2132607619990104,1.0663438292486966,0.2599150580211571,client
"3proxy-devel-s-g6000,3,2",mix-relay-3k,1,1.0856756664,2998,8.192,20.48,86.016,0,0,0,6.6,2.400896,4.863330885464156,220.14676450967312,1350.48046875,0.5220065346915241,0.6179775280898876,0.23076923076923078,1.0737001313394525,0.27570342136866516,client
3proxy-devel-s0,mix-relay-3k,1,1.085184856,2997.9,8.192,20.48,77.824,0,0,0,6.16,2.2898840000000003,4.541161787093719,205.47716735047868,1330.3515625,0.5326972768833234,0.5928777670837344,0.21536955457660303,1.0712808644194045,0.260495791270672,client
3proxy-devel-s,mix-http-3k,1,1.0988686568,3014.7,8.704,22.528,106.496,0,0,0,7.17,3.3402600000000002,5.21991410393279,237.83461040899593,1587.23828125,0.5456882911392406,0.7064039408866996,0.2623592755751346,1.0701946048818203,0.327955054215967,client
"3proxy-devel-s0-g8000,2,2",mix-http-3k,1,1.0909376575999998,2998.4,8.704,21.504,77.824,0,0,0,7.52,3.7018360000000006,5.514522262651427,250.80042689434364,1585.29296875,0.5399960884021122,0.7286821705426356,0.27228682170542634,1.0715077385537115,0.34446230989146326,client
"3proxy-devel-s-g8000,2,2",mix-http-3k,1,1.1057128727999999,3040,9.728,86.016,376.832,0,0,0,8.53,4.1816510000000005,6.171584113622159,280.5921052631579,1608.3828125,0.5326460481099656,0.8085308056872038,0.2687350835322196,1.06427153226264,0.34239254510153355,client
"3proxy-devel-s0-g6000,3,2",mix-http-3k,1,1.0851743112,2998,8.704,21.504,86.016,0,0,0,7.78,3.8682999999999996,5.735484092981725,259.50633755837225,1593.6875,0.5311538461538462,0.7430754536771729,0.2656773575873624,1.065777274421349,0.3367202484048862,client
"3proxy-devel-s-g6000,3,2",mix-http-3k,1,1.0906279695999999,2998.2,8.704,20.48,73.728,0,0,0,7.31,3.3847430000000003,5.36204843723641,243.81295443933027,1592.921875,0.5433807759797231,0.7083333333333334,0.26328620185275475,1.074784065560022,0.3415286265703511,client
3proxy-devel-s0,mix-http-3k,1,1.0891802008,2998.5,8.704,20.48,86.016,0,0,0,7.46,3.6747159999999996,5.479350428530117,248.79106219776554,1594.1328125,0.5375745526838966,0.734251968503937,0.27004426955238564,1.0660858106041764,0.3484789873655678,client
"3proxy-devel-s0-g8000,2,2",relay-stream16,2,1.5271143816863952,nan,nan,nan,nan,0,0,1435,5.41,2.202754,2.832099932349561,nan,5.1328125,0.10811324339730193,0.507981220657277,0.1404878048780488,0.03231250431786678,0.17189027491769726,none
"3proxy-devel-s-g8000,2,2",relay-stream16,2,1.5270981072891263,nan,nan,nan,nan,0,0,1122,5.27,2.092798,2.7590001495702667,nan,6.578125,0.1037431122933688,0.49576669802445905,0.13853658536585367,0.03326551548543783,0.16904852192666459,none
"3proxy-devel-s0-g6000,3,2",relay-stream16,2,1.527394159103169,nan,nan,nan,nan,0,0,1513,5.68,2.210776,2.9730351905529635,nan,6.21484375,0.1070615034168565,0.5303454715219421,0.13992172211350293,0.03325800774799457,0.17280524766429495,none
"3proxy-devel-s-g6000,3,2",relay-stream16,2,1.5270596503598672,nan,nan,nan,nan,0,0,1364,5.83,2.263006,3.052176636052117,nan,5.0546875,0.11024520053221822,0.5448598130841121,0.15817564289180008,0.035156298128755675,0.18133806234268407,none
3proxy-devel-s0,relay-stream16,2,1.5275957092749701,nan,nan,nan,nan,0,0,1352,5.79,2.318172,3.0299879508839767,nan,6.97265625,0.10840623811335108,0.5411214953271029,0.14987834549878346,0.035167451610074986,0.17854548840269352,none
3proxy-devel-s,relay-stream16,2,1.5262535412924785,nan,nan,nan,nan,0,0,1104,5.48,2.157874,2.8703200625600713,nan,5.69921875,0.10876592508081384,0.5174693106704438,0.15070491006319883,0.03515538306074546,0.17658218708567958,none
"3proxy-devel-s0-g8000,2,2",mix-relay-3k,2,1.0857917408,2998.8,8.704,21.504,98.304,0,0,0,6.36,2.3938940000000004,4.685981490567625,212.08483393357344,1340.3203125,0.5392701309004363,0.6144927536231884,0.23454987834549879,1.078398486058757,0.2804698364668418,client
"3proxy-devel-s-g8000,2,2",mix-relay-3k,2,1.0856312648,2998.2,8.704,21.504,81.92,0,0,0,6.46,2.304113,4.760364009000858,215.46261089987325,1350.98046875,0.5393785421145202,0.6152380952380953,0.22302854378326076,1.0933770497235848,0.27318558176648966,client
"3proxy-devel-s0-g6000,3,2",mix-relay-3k,2,1.0910622736,2998.6,8.704,21.504,86.016,0,0,0,6.44,2.3803280000000004,4.722003614881475,214.76689121590076,1349.48828125,0.5468344317954863,0.6270691333982473,0.21463897131552917,1.079301676955762,0.2650607177002004,client
"3proxy-devel-s-g6000,3,2",mix-relay-3k,2,1.0909618535999999,2998.1,8.192,20.48,81.92,0,0,0,6.13,2.1532980000000004,4.495115923455603,204.46282645675595,1348.60546875,0.5454725187821273,0.5951456310679611,0.21558059774620283,1.0798751893162946,0.2638141586375467,client
3proxy-devel-s0,mix-relay-3k,2,1.0846369272,2997.8,8.192,20.48,81.92,0,0,0,6.1,2.235242,4.499201417194751,203.48255387284007,1341.1328125,0.5357713828936851,0.5916585838991271,0.21850393700787402,1.0692404188768356,0.26125939656455965,client
3proxy-devel-s,mix-relay-3k,2,1.0905389624000001,2998.2,8.192,20.48,86.016,0,0,0,5.96,2.060316,4.372150069271106,198.78593822960443,1350.3984375,0.5438,0.58203125,0.2334975369458128,1.0804753126266173,0.28945241478401024,client
"3proxy-devel-s0-g8000,2,2",mix-http-3k,2,1.0901300848,2999.8,8.704,21.504,131.072,0,0,0,7.68,3.808307,5.636024622811143,256.0170678045203,1603.484375,0.5398351648351648,0.7529411764705882,0.25724104074619536,1.0679852342689808,0.3242315595423425,client
"3proxy-devel-s-g8000,2,2",mix-http-3k,2,1.0895516295999998,2997.6,8.704,21.504,86.016,0,0,0,7.62,3.6012729999999995,5.59496203244447,254.20336269015212,1604.19921875,0.5334997120368593,0.7298850574712644,0.2681644359464627,1.0707885867952982,0.34427538388378953,client
"3proxy-devel-s0-g6000,3,2",mix-http-3k,2,1.0881829904,3008.2,9.216,25.6,102.4,0,0,0,7.54,3.7349850000000004,5.5431853403467795,250.64822817631807,1586.84765625,0.5551368504561682,0.7495029821073559,0.26454500248632523,1.0832488487972296,0.33907387501161085,client
"3proxy-devel-s-g6000,3,2",mix-http-3k,2,1.08429378,2998.2,8.704,21.504,77.824,0,0,0,7.37,3.430134,5.437640710251054,245.81415515976252,1589.76953125,0.5406206760229294,0.7275419545903258,0.26385483079941147,1.0702353623639345,0.3344060713206152,client
3proxy-devel-s0,mix-http-3k,2,1.0912673024000001,2996.7,8.704,21.504,81.92,0,0,0,7.64,3.766952,5.600827575936724,254.94710848600127,1605.5625,0.5459213904799526,0.7490196078431373,0.2621981271562346,1.0750061542092704,0.3347235508439375,client
3proxy-devel-s,mix-http-3k,2,1.0951498424000001,3018.2,8.704,22.528,102.4,0,0,0,7.77,3.731398,5.675935620259739,257.438208203565,1590.5,0.5348705348705348,0.7344045368620038,0.2741477272727273,1.0642378433828126,0.3532214288025934,client