I am just wondering if there is any good way to estimate # of Processing Units required for specific configuration in Event Hub Premium. Assume I know the volume of Data In/Out, number of ingress/egress messages, how can I estimate number of PUs?
I looked at this page https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-quotas also I found on other page this info
"1 PU and 1 event hub(100 partitions) can approximately offer core capacity of ~5-10 MB/s ingress and 10-20 MB/s egress"
Let's say I have traffic ingress 7MB/s and egress 15MB/s, but does it mean that 1 PU is enough? What about # of messages, consumers, producers, # of event hubs in namespace?, as per the documentation they are also relevant here to estimate size of the cluster.
Let's say I have traffic ingress 7MB/s and egress 15MB/s, but does it mean that 1 PU is enough?
Yes, that's correct.
A namespace is a scoping container for Event Hub/Kafka Topics. Calculate the size associated with each namespace (including consumer, producer, message, etc.) and on the basis of that you can choose number of PUs.
Check the detailed EventHub Premium pricing here.
When you create a Namespace
in EventHub using Portal, you will be responsible to calculate the size of ingress/egress including producers, messages and consumer, and if the total size within the capacity of 1 PU in Premium, you are good to go. Refer below image.
Similarly you can create multiple Namespaces.
Also, for a premium Event Hubs namespace, the Auto-Inflate feature is automatically enabled. You can't disable it.
The Auto-inflate feature of Event Hubs automatically scales up by increasing the number of TUs, to meet usage needs.
So, you don't need to worry much about PU in Premium namespace.