Thank you for reaching out @Malik, Deepankar.
Event Hub trigger uses the Event Processor Host under the covers which takes care of the concurrency by creating instances according to the number of partitions, however, depending on the throughput that you want to achieve and the processing being done for each batch of events, 8 instances owning 8 partitions each might not be enough.
There are a few things to check:
- Are the function app instances having any sort of backpressure?
- Are there downstream dependencies as part of the event processing having backpressure?
- Can you test by scaling out the number of instances to 16?
Regarding your question on how to monitor the executions, the trigger can integrate with Application Insights for you to view each execution, see this documentation for more details, you can then query and perform aggregates in order to understand how many concurrent executions are taking place as well as how many events are being pulled per execution.
Check sample Application Insights queries for more details/examples on how to query this data