Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Feb 2017 09:37:44 -0800
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        Sepherosa Ziehau <sepherosa@gmail.com>
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:  <20170226173744.GH8899@FreeBSD.org>
In-Reply-To: <CAMOc5cyNA3cWjagQ6VHz5fy8F=j6J1_xGNxkr-GbqUxP6phLpg@mail.gmail.com>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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?
Do I understand it correct that there was only 1 listening socket on the
server side?

-- 
Totus tuus, Glebius.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170226173744.GH8899>