yandex / odyssey

Scalable PostgreSQL connection pooler
BSD 3-Clause "New" or "Revised" License
3.13k stars 155 forks source link

Machine channel read optimization #575

Open NikitaUnisikhin opened 4 months ago

NikitaUnisikhin commented 4 months ago

-- add machine_channel_read_random -- add benchmark_channel_read_random -- add success connections benchmark. After odyssey start, 1000 connections are created with a timeout of 2 seconds (in od conf client_max = 100) -- using a benchmark, I found out that using machine_channel_read_random is most effective -- benchmark results: machine_channel_read_random (93.60 % success connections), machine_channel_read (91.00 % success connections), machine_channel_read_back (92.70 % success connections) -- in od_worker I replaced machine_channel_read_back with machine_channel_read_random -- make apply_fmt