hi tech@
tools used:
* ps auxwww | grep relayd
* httperf --hog --server=192.168.5.201 --wsess=25,1000,0.1 --rate=50 --timeout=5
target machine:
OpenBSD 5.3-current (GENERIC.MP) #0: Sun Apr 7 15:14:10 EEST 2013
*@*:/usr/src/sys/arch/amd64/compile/GENERIC.MP
/etc/relayd.conf:
ext_addr="192.168.5.201"
webhost1="192.168.5.202"
webhost2="192.168.5.203"
prefork 2
table <web> { $webhost1 $webhost2 }
http protocol proto_pool_http {
header append "$REMOTE_ADDR" to "X-Forwarded-For"
header append "$SERVER_ADDR:$SERVER_PORT" to "X-Forwarded-By"
header change "Connection" to "close"
}
relay cluster_pool_http {
listen on $ext_addr port www
protocol proto_pool_http
forward to <web> port www mode roundrobin check http "/index.html"
host "test.local" code 200
}
cold ps auxwww:
root 31403 0.0 0.1 1160 1916 ?? Ss 12:21AM 0:00.03
relayd: parent (relayd)
_relayd 18684 0.0 0.1 1044 2056 ?? S 12:21AM 0:00.01
relayd: pfe (relayd)
_relayd 29554 0.0 0.1 912 1948 ?? S 12:21AM 0:00.01
relayd: hce (relayd)
_relayd 7937 0.0 0.1 1108 2020 ?? S 12:21AM 0:00.02
relayd: relay (relayd)
_relayd 28352 0.0 0.1 1108 2036 ?? S 12:21AM 0:00.00
relayd: relay (relayd)
ps auxwww after 1st httperf run:
_relayd 28352 4.1 0.6 10280 11672 ?? S 12:21AM 0:08.83
relayd: relay (relayd)
_relayd 7937 4.8 0.6 10620 12004 ?? S 12:21AM 0:09.17
relayd: relay (relayd)
root 31403 0.0 0.1 1160 1916 ?? Is 12:21AM 0:00.03
relayd: parent (relayd)
_relayd 18684 0.0 0.1 1044 2056 ?? S 12:21AM 0:00.02
relayd: pfe (relayd)
_relayd 29554 0.0 0.1 912 1948 ?? S 12:21AM 0:00.03
relayd: hce (relayd)
ps auxwww after 2nd httperf run:
_relayd 28352 1.5 1.0 19424 20816 ?? S 12:21AM 0:17.77
relayd: relay (relayd)
_relayd 7937 1.4 1.0 19724 21108 ?? S 12:21AM 0:18.11
relayd: relay (relayd)
root 31403 0.0 0.1 1160 1916 ?? Is 12:21AM 0:00.03
relayd: parent (relayd)
_relayd 18684 0.0 0.1 1044 2056 ?? S 12:21AM 0:00.02
relayd: pfe (relayd)
_relayd 29554 0.0 0.1 912 1952 ?? S 12:21AM 0:00.05
relayd: hce (relayd)
on busy production setup relayd continuously leaks and eventually crashes.