Hello Alexey Serbin, Attila Bukor, Kudu Jenkins, Bankim Bhavsar,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/16209

to look at the new patch set (#2).

Change subject: tls_socket: avoid cork/uncork dance for small writevs
......................................................................

tls_socket: avoid cork/uncork dance for small writevs

Prior to this patch, TlsSocket emulated Writev() by corking the socket,
calling write() once per buffer, and then uncorking. The system call
overhead here is pretty substantial. For short writes, it's much
cheaper to pay the cost of memcpy into a contiguous buffer rather than
doing the complex code path.

I benchmarked this using a YCSB workload C (random read) workload in
which I found that the server was reactor bound (YCSB is a single client
so all traffic goes over a single connection). The read throughput
improved from around 44k reads/second to around 52k reads/second (18%
improvement)

Change-Id: Ic6abf790a38878b41862655e643782a7624b763f
---
M src/kudu/security/tls_context.cc
M src/kudu/security/tls_socket.cc
M src/kudu/security/tls_socket.h
3 files changed, 62 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/16209/2
--
To view, visit http://gerrit.cloudera.org:8080/16209
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic6abf790a38878b41862655e643782a7624b763f
Gerrit-Change-Number: 16209
Gerrit-PatchSet: 2
Gerrit-Owner: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <abu...@apache.org>
Gerrit-Reviewer: Bankim Bhavsar <ban...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to