An MQTT Transmission Transmitter defines which tags Transmission consumes, how it consumes these tags, how it publishes tag data and which Sparkplug assets (Group, Edge node or Device) the tags belong to, among other things.
Resource management
Each Transmitter has its own resources allocated for scanning the tag tree, receiving tag change events, caching tag configuration, storing history, etc. The more Transmitters one has, the more resources will be required.
Edge node to MQTT client (1:1)
A Transmitter can have a single Sparkplug edgenode associated with it or it can have many. Each Sparkplug edgenode will establish its own single MQTT client connection to the MQTT server. There is no limit to the number of Sparkplug edge nodes and/or MQTT clients you can have on a single GW. The more clients and/or edge nodes present, the more resources will be consumed by the application. If you are using MQTT Distributor, be aware of its concurrent connected client limits depending on license type (50 with Standard, 250 with Plus) and upgrade to Cirrus Link's Chariot MQTT Server if you need to support higher MQTT client counts.
Multiple Transmitters will always be more performant because Transmission has dedicated resources and threads available per Transmitter, especially at start up. At start up, tags are "scanned" to get current configuration and values. When there are multiple edge nodes in a single Transmitter, tag scanning and Birth message publishing are sequential for each Sparkplug edge node. When edge nodes are spread across multiple Transmitters, in a one-to-one relationship for example, getting tag configuration/values and publishing Sparkplug Birth messages will be done in parallel across all Transmitter edge nodes. Adding Transmitters will allow for better scaling across more tags and Sparkplug edge nodes / devices, but will be more resource intensive and require more CPU and RAM.
Tag Limits
There is no limit to the number of tags a Transmitter can consume or a Sparkplug edge node/device can encapsulate. Many users try to keep edge node tag counts below 100K to reduce Birth build times, message size on the wire and processing required of downstream consumers (e.g., Sparkplug host applications).
Configuration
Fewer Transmitters with dynamically discovered Sparkplug assets reduce the overall amount of configuration to manage and makes it very simple to add new edge nodes to existing Transmitters, but start up work per edge node will be done sequentially. If creating or managing many Transmitters at scale, consider using Transmission's scriptable configuration APIs.