On 2009-09-24, Marcin <[email protected]> wrote: > Hi all, > > While trying to implement relayd to load balance traffic using > redirection method for 7 external http/https services distributed > amongst 35 internal hosts I came across what I believe is the file handle > limit. > > Due to a number of servers the total number of health check queries > is 219 however only first 119 succeeds, while remaining queries > log 'error: tcp connect error' message. > > Although the problem is easily resolvable with ulimit executed before > relayd I wonder if more fundamental change to increase RLIMIT_NOFILE > inside relayd would make sense?
relayd already sets the limit as high as the login class allows. for daemons started from /etc/rc or by root the class is normally "daemon", so you might want to add a higher openfiles-max for daemon to login.conf (the default isn't in the file, but seems to be 1024). for daemons started from a user account (e.g. if you "sudo relayd" from a normal user account rather than just logging in as root to do this) the limit might well be lower, I think that's probably more likely to be what you're hitting, try "sudo -c daemon relayd". N.B. with this many checks you might bump into PR 6165.

