git: tcp: Make setsockopt(2) TCP_{NODELAY, NOPUSH, NOOPT, FASTKEEP} asynchronous

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Thu May 26 06:31:29 PDT 2016


commit 680c4dd3d6a83eda7f3450b7d4d8a0da42f1dd12
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Thu May 26 21:22:58 2016 +0800

    tcp: Make setsockopt(2) TCP_{NODELAY,NOPUSH,NOOPT,FASTKEEP} asynchronous
    
    This makes all network system calls used by nginx asynchronous and greatly
    improves nginx performance.
    
    For 1 requests/connection (30K concurrent connections), this commit gives
    12% improvement for 16KB web object (was 16.8Gbps, now 19.2Gbps, which
    maxes out 2x10Ge).  And it gives 19% improvement for 1KB web object (was
    156Kreqs/s, now 186Kreqs/s).

Summary of changes:
 sys/kern/uipc_msg.c      | 17 ++++++++++++
 sys/net/netmsg.h         |  3 +++
 sys/netinet/in_proto.c   |  1 +
 sys/netinet/tcp_usrreq.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++
 sys/netinet/tcp_var.h    |  1 +
 sys/sys/protosw.h        |  2 ++
 6 files changed, 92 insertions(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/680c4dd3d6a83eda7f3450b7d4d8a0da42f1dd12


-- 
DragonFly BSD source repository



More information about the Commits mailing list