Date: Mon, 27 Feb 2017 09:31:34 +0800 From: Sepherosa Ziehau <sepherosa@gmail.com> To: Gleb Smirnoff <glebius@freebsd.org> Cc: Julien Charbon <jch@freebsd.org>, Jason Eggleston <jeggleston@llnw.com>, "freebsd-net@freebsd.org" <net@freebsd.org>, hiren@freebsd.org, jtl@freebsd.org, rrs@freebsd.org Subject: Re: listening sockets as non sockets Message-ID: <CAMOc5czWwYrH9S6gTS61d9vExHj=syBBnOEVSpFVP23pu3K3tA@mail.gmail.com> In-Reply-To: <20170226173744.GH8899@FreeBSD.org> References: <20170127005251.GM2611@FreeBSD.org> <20170210063024.GE1973@FreeBSD.org> <20170216184903.GF58829@FreeBSD.org> <0858647a-ec3c-1a78-053f-d04397a82d8a@freebsd.org> <20170222232704.GJ8899@FreeBSD.org> <CAMOc5cyNA3cWjagQ6VHz5fy8F=j6J1_xGNxkr-GbqUxP6phLpg@mail.gmail.com> <20170226173744.GH8899@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 27, 2017 at 1:37 AM, Gleb Smirnoff <glebius@freebsd.org> wrote: > On Sun, Feb 26, 2017 at 11:37:59PM +0800, Sepherosa Ziehau wrote: > S> Just got enough time to do some benchmark. The configuration is > S> pretty simple, one server box w/ 2x82599, two client boxes w/ 1x82599, > S> connected through DAC. nginx-devel is installed through pkg; access > S> log is disabled, 24 workers, each worker w/ 16384 max connections. I > S> use the wrk I mentioned to you. HTTP/1.1 and 1 request/connection, > S> 15K concurrent connections from each client boxes, so 30K concurrent > S> connections total. Each client has been verified to be able to do > S> 160Kreqs/s w/ 1KB web object w/ 1 request/connection. 4 different > S> sized staic web objects are benched, see below. The solisten was > S> checked out on Feb 25th. Several GENERIC options (NFS and SCTP > S> related) have to be commented out and kernel is built w/ -DNO_MODULES > S> (CAM ctl module does not compile) and GENERIC-NODEBUG on the solisten > S> branch. Each test lasts 2 minutes. MSL on the server side has been > S> changed to 10ms, though I don't think it matters here. Server hw: > S> 2x2620v2 (HT enabled), 32GB ddr3-1600. Client hw: i7-3770 (HT > S> enabled), 16GB ddr3-1600. > S> > S> r314268 -> solisten > S> > S> 1KB: > S> Performance (reqs/s) > S> 77916.71 -> 26240.37 > S> Latency average > S> 121ms -> 294ms > S> > S> 8KB: > S> Performance (reqs/s) > S> 77803.72 -> 25968.87 > S> Latency average > S> 121ms -> 251ms > S> > S> 16KB: > S> Performance (reqs/s) > S> 75698.77 -> 25047.23 > S> Latency average > S> 173ms -> 377ms > S> > S> 24KB: > S> Performance (reqs/s) > S> 73736.80 -> 24946.36 > S> Latency average > S> 180ms -> 379ms > S> > S> So what I have seen is solisten's performance is 1/3 of r314268, and > S> average latency doubles. > > Thanks a lot! Looks like I've put something on the accept path that degrades > performance. :) I will look at this tomorrow and post an update. > > Can you please share exact wrk command you used? On my testing client (8 HT). wrk -c 15000 -t 8 -d 120s --delay --latency --connreqs 1 http://server/1K.bin > Do I understand it correct that there was only 1 listening socket on the > server side? Yep, only port 80 is listened on the server side, as a normal website will do. Thanks, sephe -- Tomorrow Will Never Die
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMOc5czWwYrH9S6gTS61d9vExHj=syBBnOEVSpFVP23pu3K3tA>