I'am trying to find some info on kqueue scalability across multiple CPU threads. Does it scale more or less linearly with enough RSS lines to backup with a one kqueue per one CPU thread scheme?
Hopefully no kernel locks congestion exists between multiple kqueues on multiple corresponding threads in one process? (it seems that nginx uses 1 process per 1 kqueue purposely to combat extra locking).
Basically I'am less interested in a peak throughput of individual kqueue but in max scalability of multiple kqueues on multiple threads instead - for example could reasonably powerful server running FreeBSD scale above 10 millions packages per second with a few millions active tcp/ip connections? (such benchmarks already exist for Win and Linux but I'd prefer to write code for FreeBSD, if possible).
Hopefully no kernel locks congestion exists between multiple kqueues on multiple corresponding threads in one process? (it seems that nginx uses 1 process per 1 kqueue purposely to combat extra locking).
Basically I'am less interested in a peak throughput of individual kqueue but in max scalability of multiple kqueues on multiple threads instead - for example could reasonably powerful server running FreeBSD scale above 10 millions packages per second with a few millions active tcp/ip connections? (such benchmarks already exist for Win and Linux but I'd prefer to write code for FreeBSD, if possible).