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>