npgsql
npgsql copied to clipboard
Make round-robin more fair
Fixes #4181
@Brar
@Brar could you please try this one?
could you please try this one?
Better. Not perfect though.
[Npgsql]
Average commands per multiplexing batch -1
Average write time per multiplexing batch (us) (us) -1
Busy Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5434]) 0
Busy Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5435]) 0
Busy Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5436]) 4
Busy Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5437]) 3
Busy Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5438]) 2
Busy Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5439]) 3
Busy Connections (Host=localhost;Port=5435;Database=LoadBalancing;Pooling=False;Multiplexing=False]) 0
Busy Connections (Host=localhost;Port=5435;Database=postgres;Pooling=False;Multiplexing=False]) 0
Bytes Read (Count / 1 sec) 0
Bytes Written (Count / 1 sec) 0
Command Rate (Count / 1 sec) 0
Connection Pools 8
Current Commands 12
Failed Commands 0
Idle Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5434]) 0
Idle Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5435]) 0
Idle Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5436]) 0
Idle Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5437]) 0
Idle Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5438]) 0
Idle Connections (Host=localhost;Load Balance Hosts=True;Target Session Attributes=standby;Database=LoadBalancing;Command Timeout=3600;Port=5439]) 0
Idle Connections (Host=localhost;Port=5435;Database=LoadBalancing;Pooling=False;Multiplexing=False]) 0
Idle Connections (Host=localhost;Port=5435;Database=postgres;Pooling=False;Multiplexing=False]) 0
Prepared Commands Ratio (%) 0
Total Commands 33
@roji What do you think? I'm not sure there is a lot we can do without adding a timer to enforce fair distribution.