Skip site navigation (1)Skip section navigation (2)
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>