Open eajazali87 opened 4 years ago
@eajazali87 in the release package you can find testconsumer
and testproducer
binaries provided precisely for load testing. E.g.:
./testconsumer --addr localhost:19091 --topic demo --count 1 --group foo
./testproducer --addr localhost:19091 --topic demo --count 1000000 --threads 1000 --sync --size 1024
./testconsumer --addr localhost:19091 --topic demo --count 1000000 --threads 10 --group foo
The very first testconsumer
call is there to initialise the consumer group foo
partition offsets.
Thanks @horkhe when I run the first script, I get this error. Any way to get rid of this?
My GO version: go version go1.12.9 darwin/amd64
eajazalimahaboobbasha:kafka-pixy-v0.17.0-darwin-amd64 emahaboobbasha$ export GRPC_GO_LOG_SEVERITY_LEVEL=info
eajazalimahaboobbasha:kafka-pixy-v0.17.0-darwin-amd64 emahaboobbasha$ ./testconsumer --addr localhost:19091 --topic main_topic --count 1 --group 20
INFO: 2019/12/05 14:38:56 Channelz: socket options are not supported on non-linux os and appengine.
INFO: 2019/12/05 14:38:56 parsed scheme: ""
INFO: 2019/12/05 14:38:56 scheme "" not registered, fallback to default scheme
INFO: 2019/12/05 14:38:56 ccResolverWrapper: sending new addresses to cc: [{localhost:19091 0 <nil>}]
INFO: 2019/12/05 14:38:56 ClientConn switching balancer to "pick_first"
INFO: 2019/12/05 14:38:56 pickfirstBalancer: HandleSubConnStateChange: 0xc00006b110, CONNECTING
INFO: 2019/12/05 14:38:56 blockingPicker: the picked transport is not ready, loop back to repick
INFO: 2019/12/05 14:38:56 pickfirstBalancer: HandleSubConnStateChange: 0xc00006b110, READY
INFO: 2019/12/05 14:38:56 transport: loopyWriter.run returning. connection error: desc = "transport is closing"
INFO: 2019/12/05 14:38:56 pickfirstBalancer: HandleSubConnStateChange: 0xc00006b110, TRANSIENT_FAILURE
INFO: 2019/12/05 14:38:56 pickfirstBalancer: HandleSubConnStateChange: 0xc00006b110, CONNECTING
INFO: 2019/12/05 14:38:56 pickfirstBalancer: HandleSubConnStateChange: 0xc00006b110, TRANSIENT_FAILURE
panic: failed to consume first: rpc error: code = Unavailable desc = transport is closing
goroutine 36 [running]:
main.main.func1.1(0xc00013a040, 0x1536600, 0xc000158000, 0xc00006b070, 0xc000146000, 0x1, 0x0)
/Users/maxim/src/github.com/mailgun/kafka-pixy/tools/testconsumer/testconsumer.go:75 +0x858
created by main.main.func1
/Users/maxim/src/github.com/mailgun/kafka-pixy/tools/testconsumer/testconsumer.go:57 +0xf1
eajazalimahaboobbasha:kafka-pixy-v0.17.0-darwin-amd64 emahaboobbasha$
Figured out the problem, the local Kafka-pixy expects TLS where as the test consumer is trying plaintext. Once I set this to the same type, it worked
I am glad that you figured it out. It would be great if in the end you could share the results of your load testing. Maybe post them in this ticket or in the README.md.
sure I will do that @horkhe thanks for your support.
Hi,
We are able to produce and consume messages from the kafka cluster through the kafka-pixy. I wanted to do some performance tests around this.
Simple Use Case:
NOTE: There is kafka-consumer-perf-test.sh script that is available in the kafka library
kafka-consumer-perf-test.sh --broker-list localhost:9092 --topic dc-topic-1 --messages 1000000
If there is something like this or any pointers/scripts around this would be really really helpful