I am new to Streaming, and would like to stress test the capacities of Kinesis and firehose, using EventBridge as the producer for the Kinesis Stream.
However, the following:
for (int i = 0; i<10_000; i++) {
PutEventsRequestEntry requestEntry = PutEventsRequestEntry.builder()
.source("com.mycompany.myapp")
.detailType("myDetailType")
.detail("{ "key1": "value1", "key2": "value2" }")
.build();
PutEventsRequest eventsRequest = PutEventsRequest.builder()
.entries(requestEntry)
.build();
PutEventsResponse result = eventBridgeClient.putEvents(eventsRequest);
}
takes about 120 seconds to complete sending the 10_000 events, even when on an EC2 instance.
It is similar when I run this on my machine.
And I wonder, if a custom bus can take between 1100 and 18k events per second, why am I only sending 83 per second?
Is there any way I can send a very high events per second, so I can stress-test the streamer, or even force the bus to throttle?