|
|
|
@ -22,7 +22,7 @@ from ducktape.tests.test import Test
@@ -22,7 +22,7 @@ from ducktape.tests.test import Test
|
|
|
|
|
from kafkatest.services.kafka import KafkaService |
|
|
|
|
from kafkatest.services.performance import ProducerPerformanceService, EndToEndLatencyService, ConsumerPerformanceService, throughput, latency, compute_aggregate_throughput |
|
|
|
|
from kafkatest.services.zookeeper import ZookeeperService |
|
|
|
|
from kafkatest.version import TRUNK, KafkaVersion |
|
|
|
|
from kafkatest.version import DEV_BRANCH, KafkaVersion |
|
|
|
|
|
|
|
|
|
TOPIC_REP_ONE = "topic-replication-factor-one" |
|
|
|
|
TOPIC_REP_THREE = "topic-replication-factor-three" |
|
|
|
@ -72,8 +72,8 @@ class Benchmark(Test):
@@ -72,8 +72,8 @@ class Benchmark(Test):
|
|
|
|
|
@cluster(num_nodes=7) |
|
|
|
|
@parametrize(acks=1, topic=TOPIC_REP_THREE, num_producers=3) |
|
|
|
|
def test_producer_throughput(self, acks, topic, num_producers=1, message_size=DEFAULT_RECORD_SIZE, |
|
|
|
|
compression_type="none", security_protocol='PLAINTEXT', client_version=str(TRUNK), |
|
|
|
|
broker_version=str(TRUNK)): |
|
|
|
|
compression_type="none", security_protocol='PLAINTEXT', client_version=str(DEV_BRANCH), |
|
|
|
|
broker_version=str(DEV_BRANCH)): |
|
|
|
|
""" |
|
|
|
|
Setup: 1 node zk + 3 node kafka cluster |
|
|
|
|
Produce ~128MB worth of messages to a topic with 6 partitions. Required acks, topic replication factor, |
|
|
|
@ -104,8 +104,8 @@ class Benchmark(Test):
@@ -104,8 +104,8 @@ class Benchmark(Test):
|
|
|
|
|
@parametrize(security_protocol='SSL', interbroker_security_protocol='PLAINTEXT') |
|
|
|
|
@matrix(security_protocol=['PLAINTEXT', 'SSL'], compression_type=["none", "snappy"]) |
|
|
|
|
def test_long_term_producer_throughput(self, compression_type="none", security_protocol='PLAINTEXT', |
|
|
|
|
interbroker_security_protocol=None, client_version=str(TRUNK), |
|
|
|
|
broker_version=str(TRUNK)): |
|
|
|
|
interbroker_security_protocol=None, client_version=str(DEV_BRANCH), |
|
|
|
|
broker_version=str(DEV_BRANCH)): |
|
|
|
|
""" |
|
|
|
|
Setup: 1 node zk + 3 node kafka cluster |
|
|
|
|
Produce 10e6 100 byte messages to a topic with 6 partitions, replication-factor 3, and acks=1. |
|
|
|
@ -162,8 +162,8 @@ class Benchmark(Test):
@@ -162,8 +162,8 @@ class Benchmark(Test):
|
|
|
|
|
@cluster(num_nodes=6) |
|
|
|
|
@matrix(security_protocol=['SASL_PLAINTEXT', 'SASL_SSL'], compression_type=["none", "snappy"]) |
|
|
|
|
def test_end_to_end_latency(self, compression_type="none", security_protocol="PLAINTEXT", |
|
|
|
|
interbroker_security_protocol=None, client_version=str(TRUNK), |
|
|
|
|
broker_version=str(TRUNK)): |
|
|
|
|
interbroker_security_protocol=None, client_version=str(DEV_BRANCH), |
|
|
|
|
broker_version=str(DEV_BRANCH)): |
|
|
|
|
""" |
|
|
|
|
Setup: 1 node zk + 3 node kafka cluster |
|
|
|
|
Produce (acks = 1) and consume 10e3 messages to a topic with 6 partitions and replication-factor 3, |
|
|
|
@ -194,7 +194,7 @@ class Benchmark(Test):
@@ -194,7 +194,7 @@ class Benchmark(Test):
|
|
|
|
|
@matrix(security_protocol=['PLAINTEXT', 'SSL'], compression_type=["none", "snappy"]) |
|
|
|
|
def test_producer_and_consumer(self, compression_type="none", security_protocol="PLAINTEXT", |
|
|
|
|
interbroker_security_protocol=None, new_consumer=True, |
|
|
|
|
client_version=str(TRUNK), broker_version=str(TRUNK)): |
|
|
|
|
client_version=str(DEV_BRANCH), broker_version=str(DEV_BRANCH)): |
|
|
|
|
""" |
|
|
|
|
Setup: 1 node zk + 3 node kafka cluster |
|
|
|
|
Concurrently produce and consume 10e6 messages with a single producer and a single consumer, |
|
|
|
@ -243,7 +243,7 @@ class Benchmark(Test):
@@ -243,7 +243,7 @@ class Benchmark(Test):
|
|
|
|
|
@matrix(security_protocol=['PLAINTEXT', 'SSL'], compression_type=["none", "snappy"]) |
|
|
|
|
def test_consumer_throughput(self, compression_type="none", security_protocol="PLAINTEXT", |
|
|
|
|
interbroker_security_protocol=None, new_consumer=True, num_consumers=1, |
|
|
|
|
client_version=str(TRUNK), broker_version=str(TRUNK)): |
|
|
|
|
client_version=str(DEV_BRANCH), broker_version=str(DEV_BRANCH)): |
|
|
|
|
""" |
|
|
|
|
Consume 10e6 100-byte messages with 1 or more consumers from a topic with 6 partitions |
|
|
|
|
(using new consumer iff new_consumer == True), and report throughput. |
|
|
|
|