View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003028||unreal||ircd||public||2006-08-19 21:11||2007-05-17 04:00|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||Fixed in Version||3.3-alpha0|
|Summary||0003028: Perhaps more intelligent handling of listener-accept|
|Description||I've noticed we only run accept() once per hint from select there's activity on the socket. The argument against not doing this, is that we should prioritize existing connections - but we could probably look into trying to accept up to listen backlog since they're obviously laying there for possible fast processing|
|Tags||No tags attached.|
|3rd party modules|
I noticed this as well during my tests and actually concluded the same (your first part): it's probably a good idea how it currently is now we're giving existing connections priority over accepting.
That said, one per read_message() is not much, I agree.. so yeah.. maybe we should just do it for ... < backlog.
BUT, I usually put backlog quite high (like 30, or 50), and I wouldn't want it to try to accept 30 - 50 connections in one read_message(). So another value would be more appropriate, maybe even an arbitrary value like ehm.. 5 (configurable) :P.
I'm not sure yet, needs some thought :P
Last edited: 2007-05-17 04:00
Implemented in .2404 - Could someone test how unreal reacts under load now - as in, connecting floods
|2006-08-20 06:34||syzop||Note Added: 0012193|
||Status||new => acknowledged|
||Status||acknowledged => resolved|
||Fixed in Version||=> 3.3-alpha0|
||Resolution||open => fixed|
||Assigned To||=> stskeeps|
||Note Added: 0014148|
||Note Edited: 0014148|