Hi,

As previously, Heroku has been doing performance testing of 0.11.0.0 RC2.
Now that the ProducerPerformance.java tool supports it, we've even been
doing testing with the new transactional/idempotence features in KIP-98.

We've tested with idempotency and read_committed consumers and note no
notable performance impact there from our perspective. That isn't to say
that there is no impact, just that our testing can't see enough of one to
be obvious.

The new tooling supports `transaction-duration-ms` as a flag, which gives
the number of milliseconds between transaction commits in the producer.
This setting has vast (and expected) impacts on performance from our
perspective.

Tuned down to 1ms, we see throughput around 23x lower than without
transactions enabled (but with idempotency and read_committed consumers).

Tuned to 10ms, we see throughput at about 70% of performance without
transactions enabled

At 100ms and 1000ms transaction duration, there is no notable impact to
throughput with usual operating conditions as far as we can tell. That
isn't to say that there is no impact, just that our testing can't see
enough of one to be obvious.

We have also performed some failure testing with 0.11 transactions enabled,
and notice nothing out of the ordinary there. Note that we have not tested
the correctness of the feature (as in, does it deliver what is promised),
just if the producers or consumers or brokers do anything outwardly strange
through the logs etc.

All in all, this is shaping up to be a great release. We're going to
continue some further testing, but right now are heading towards a +1.

Thanks

Tom Crayford
Heroku Kafka

On Fri, Jun 23, 2017 at 2:36 AM, Ismael Juma <ism...@juma.me.uk> wrote:

> A quick note on notable changes since rc1:
>
> 1. A significant performance improvement if transactions are enabled:
> https://github.com/apache/kafka/commit/f239f1f839f8bcbd80cce2a4a8643e
> 15d340be8e
> 2. Fixed a controller regression if many brokers are started
> simultaneously:
> https://github.com/apache/kafka/commit/c0033b0e0b9e56242752c82f15c638
> 8d041914a1
> 3. Fixed a couple of Connect regressions:
> https://github.com/apache/kafka/commit/c029960bf4ae2cd79b22886f4ee519
> c4af0bcc8b
> and
> https://github.com/apache/kafka/commit/1d65f15f2b656b7817eeaf6ee1d36e
> b3e2cf063f
> 4. Fixed an import log cleaner issue:
> https://github.com/apache/kafka/commit/186e3d5efc79ed803f0915d472ace7
> 7cbec88694
>
> Full diff:
> https://github.com/apache/kafka/compare/5b351216621f52a471c21826d0dec3
> ce3187e697...0.11.0.0-rc2
>
> Ismael
>
> On Fri, Jun 23, 2017 at 2:16 AM, Ismael Juma <ism...@juma.me.uk> wrote:
>
> > Hello Kafka users, developers and client-developers,
> >
> > This is the third candidate for release of Apache Kafka 0.11.0.0.
> >
> > This is a major version release of Apache Kafka. It includes 32 new KIPs.
> > See the release notes and release plan (https://cwiki.apache.org/
> > confluence/display/KAFKA/Release+Plan+0.11.0.0) for more details. A few
> > feature highlights:
> >
> > * Exactly-once delivery and transactional messaging
> > * Streams exactly-once semantics
> > * Admin client with support for topic, ACLs and config management
> > * Record headers
> > * Request rate quotas
> > * Improved resiliency: replication protocol improvement and
> > single-threaded controller
> > * Richer and more efficient message format
> >
> > Release notes for the 0.11.0.0 release:
> > http://home.apache.org/~ijuma/kafka-0.11.0.0-rc2/RELEASE_NOTES.html
> >
> > *** Please download, test and vote by Tuesday, June 27, 6pm PT
> >
> > Kafka's KEYS file containing PGP keys we use to sign the release:
> > http://kafka.apache.org/KEYS
> >
> > * Release artifacts to be voted upon (source and binary):
> > http://home.apache.org/~ijuma/kafka-0.11.0.0-rc2/
> >
> > * Maven artifacts to be voted upon:
> > https://repository.apache.org/content/groups/staging/org/apache/kafka/
> >
> > * Javadoc:
> > http://home.apache.org/~ijuma/kafka-0.11.0.0-rc2/javadoc/
> >
> > * Tag to be voted upon (off 0.11.0 branch) is the 0.11.0.0 tag:
> > https://git-wip-us.apache.org/repos/asf?p=kafka.git;a=tag;h=
> > 8698fa1f41102f1664b05baa4d6953fc9564d91e
> >
> > * Documentation:
> > http://kafka.apache.org/0110/documentation.html
> >
> > * Protocol:
> > http://kafka.apache.org/0110/protocol.html
> >
> > * Successful Jenkins builds for the 0.11.0 branch:
> > Unit/integration tests: https://builds.apache.org/job/
> > kafka-0.11.0-jdk7/187/
> > System tests: pending (will send an update tomorrow)
> >
> > /**************************************
> >
> > Thanks,
> > Ismael
> >
>

Reply via email to