[
https://issues.apache.org/jira/browse/KAFKA-2517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14940993#comment-14940993
]
ASF GitHub Bot commented on KAFKA-2517:
---------------------------------------
GitHub user ijuma opened a pull request:
https://github.com/apache/kafka/pull/273
KAFKA-2517; Performance Regression post SSL implementation (zero copy)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ijuma/kafka
kafka-2517-ssl-zero-copy-regression
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/273.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #273
----
commit fb88692a9e4f62677b91069db017c12ba5b42edd
Author: Ismael Juma <[email protected]>
Date: 2015-10-02T10:10:12Z
Introduce `TransportLayer.transferFrom` and use it from `FileMessageSet`
----
> Performance Regression post SSL implementation
> ----------------------------------------------
>
> Key: KAFKA-2517
> URL: https://issues.apache.org/jira/browse/KAFKA-2517
> Project: Kafka
> Issue Type: Bug
> Reporter: Ben Stopford
> Assignee: Ismael Juma
> Fix For: 0.9.0.0
>
>
> It would appear that we incurred a performance regression on submission of
> the SSL work affecting the performance of the new Kafka Consumer.
> Running with 1KB messages. Macbook 2.3 GHz Intel Core i7, 8GB, APPLE SSD
> SM256E. Single server instance. All local.
> kafka-consumer-perf-test.sh ... --messages 3000000 --new-consumer
> Pre-SSL changes (commit 503bd36647695e8cc91893ffb80346dd03eb0bc5)
> Steady state throughputs = 234.8 MB/s
> (2861.5913, 234.8261, 3000596, 246233.0543)
> Post-SSL changes (commit 13c432f7952de27e9bf8cb4adb33a91ae3a4b738)
> Steady state throughput = 178.1 MB/s
> (2861.5913, 178.1480, 3000596, 186801.7182)
> Implication is a 25% reduction in consumer throughput for these test
> conditions.
> This appears to be caused by the use of PlaintextTransportLayer rather than
> SocketChannel in FileMessageSet.writeTo() meaning a zero copy transfer is not
> invoked.
> Switching to the use of a SocketChannel directly in FileMessageSet.writeTo()
> yields the following result:
> Steady state throughput = 281.8 MB/s
> (2861.5913, 281.8191, 3000596, 295508.7650)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)