Hello @Satyam Chauhan ,
The max degree of parallelism depends on the three components of a Stream Analytics Job: Input, Query and Output.
I recommend reading the documentation on Optimizing your Stream Analytics Job, especially stream-analytics-streaming-unit-consumption and stream-analytics-parallelization. Besides making use of the Partitions as well as partition keys of your input and output, your query needs to be aligned.
In your specific case, max parallelism for 8 simultaneous messages is achieved by 8 partitions in IoT Hub/Event Hub. This would allow 8 parallel readers with their own cursor on a single partition. Depending on the message frequency and your processing requirements your solution might run well with less.
Be aware: If the messages come from the same device, IoT Hub will add them to the same partition to ensure in-order processing. Please keep this in mind, also when your devices have a very different or varying send behavior. For example, in a connected vehicle scenario one device might send many messages when the engine is on while the other 7 vehicles are not powered and send only keep-alive messages occasionally. In this case the partition for the active vehicle would be flooded what could result in backlogged messages while the others are empty.
As written in the docs, figuring out the right amount of SUs is very much trial and error as it depends on the data stream to be processed and the complexity of the query.