[
https://issues.apache.org/jira/browse/TS-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14508309#comment-14508309
]
Brian Geffon commented on TS-3547:
----------------------------------
After investigation with [~jacksontj] it appears that
{{SSLNetVConnection::load_buffer_and_write}} is called with all of the data in
multiple IOBufferBlock so it results in multiple calls to {{SSLWriteBuffer}}.
To experiment we created a small patch that just copies all of the
IOBufferBlocks to a single block of memory followed by a single
{{SSLWriteBuffer}} call and it resolves the problem. So since this is obviously
not a viable solution we need to figure out why the {{SSL_write}} calls are
being split up in such a strange way.
We had a second theory that was related to the BIO flush calls, so we made a
patch that would only call BIO flush once all the {{SSL_writes}} are complete
and that did not seem to resolve the problem, we had the same issue.
> SSLNetVConnection: switch to a vectored write
> ---------------------------------------------
>
> Key: TS-3547
> URL: https://issues.apache.org/jira/browse/TS-3547
> Project: Traffic Server
> Issue Type: Bug
> Reporter: Thomas Jackson
>
> UnixNetVConnection does a vectored write which bunches blocks together until
> the outgoing buffer will fill up. This means we can better fill the packets,
> and should give us a bit of a performance boost to SSL writes.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)