Hi, relayd is a nice software. I also used it once for* http and smtp purpose* for zimbra backend servers. It was very fast. I was very happy about it. But , suddenly I failed. My users complained. So I installed haproxy on Centos. this haproxy has been running without any problems for nearly 3000 zimbra users for nearly 3 years.
If you guys can improve relayd, I still give priority to it. Since I am an OpenBSD lover. On Sat, Apr 25, 2015 at 6:59 PM, Claudio Jeker <cje...@diehard.n-r-g.com> wrote: > On Wed, Mar 25, 2015 at 11:37:51PM -0400, Yonas Yanfa wrote: > > On 15-03-24 03:26 AM, Claudio Jeker wrote: > > > On Mon, Mar 23, 2015 at 11:54:41PM -0400, Yonas Yanfa wrote: > > >> Hi, > > >> > > >> I'm running relayd/OpenBSD 5.6-stable on a KVM virtual machine. relayd > > >> always crashes within a few hours of restarting it, but works properly > > >> before that. > > > > > > I guess you are talking about reloading relayd (as in relayctl > reload)... > > > > > > > Killing all relayd processes and then running relayd. > > > > > > >> When relayd stops working, sometimes the relayd process is up but > > `relayctl > > >> show summary` says that /var/run/relayd.sock doesn't exist. Other > times > > none > > >> of the relayd processes are running. > > >> > > > > > > I hit similar issues and came up with the following diff against > -current. > > > It may apply to 5.6 but did not test that at all. I'm not 100% sure > about > > > the ca.c change since OpenSSL is a black box. > > > > > > > Thanks for the patches. > > > > Before I try to apply the patches, I think the issue might be caused by > > having too many CLOSE_WAIT connections. I seem to have 2,236 CLOSE_WAIT > > connections: > > > > > > $ netstat -n|grep CLOSE_WAIT|wc -l > > 2236 > > > > And relayd seems to have 501 active connections: > > > > relay www, session 1806 (501 active), 0, xxx.xxx.xxx.xxx -> :0, hard > timeout > > > > > > How can I get relayd to close these connections? > > > > Took some time to hunt down the cause of these CLOSE_WAIT sessions and > caused some sleepless nights since our loadbalancer was hitting them as > well. I think the following diff should solve the issue without causing > further regressions. > > The problematic connections are HTTP session that are closed before the > backend is started. In that case we can not wait for the backend. > > -- > :wq Claudio > > Index: relay.c > =================================================================== > RCS file: /cvs/src/usr.sbin/relayd/relay.c,v > retrieving revision 1.191 > diff -u -p -r1.191 relay.c > --- relay.c 6 Feb 2015 01:37:11 -0000 1.191 > +++ relay.c 25 Apr 2015 13:11:33 -0000 > @@ -988,7 +988,7 @@ relay_error(struct bufferevent *bev, sho > dst = EVBUFFER_OUTPUT(cre->dst->bev); > if (EVBUFFER_LENGTH(dst)) > return; > - } else > + } else if (cre->output != NULL && > EVBUFFER_LENGTH(cre->output)) > return; > > relay_close(con, "done"); > > -- cat /etc/motd Thank you Indunil Jayasooriya http://www.theravadanet.net/ http://www.siyabas.lk/sinhala_how_to_install.html - Download Sinhala Fonts