Local Server Limitations
Any number of Solutions can be created. Each containing any number of Message Sources and Automations. The ThinkAutomation Services load all Solutions in memory.
There is no limit to the number of messages that can be processed. The only limit is available memory and processor capacity.
Note: The ThinkAutomation Starter edition has a limit of 10 message sources and 500 processed messages per day. Standard & Professional Editions have no limits.
The effective maximum number of active Message Sources & Automations is determined only by available memory and processor capacity. Each Message Source executes concurrently. So if you created 10 Message Sources to download messages from 10 separate Office 365 accounts then each will process at the same time. The Automations executed from these Message Sources also execute concurrently (up to the maximum defined in the Server Settings - Message Processor - Message Processor Tasks) as each new message arrives.
For high volume ThinkAutomation implementations you should monitor the memory & processor usage of the ThinkAutomation services. If you are using the Professional Edition then the Message Reader and Message Processor services can be configured to run on separate computers and multiple instances of the Message Processor service can be configured to share the processing.
The Message Store can store a unlimited number of processed messages - limited only by the database type being used. Each message can be any size - but with an effective limit of 50mb per message. For all editions you can run the Message Store database on a separate computer if required.
Individual Automations are limited to 16mb in metadata size - which equates to many thousand Actions per Automation. Large Automations can be split into separate Automations and called using the Call action type.
High Volume Processing Notes
When a new incoming message is received, the ThinkAutomation Server adds the message to an in-memory queue. Messages are then written to the Message Store database from this queue. The in-memory queue is limited to 500mb (or max n messages - where 'n' is based on available memory). If the queue gets to 70% capacity the ThinkAutomation Server notifies the Message Reader services to slow down (throttle). Messages will be added more slowly until the queue gets back to 20% capacity. A message will be added to the server log whenever throttling is enabled.
The main bottleneck for high volume processing is the speed at which the ThinkAutomation server can write new messages to the Message Store database. For high-volume implementations the type and location of the Message Store database will be the main performance factor. For instance, a local SQL Server database will be faster than a remote one. A MongoDB database will give the best performance provided it is local (or on another computer on the same network) and has sufficient memory.
A typical ThinkAutomation installation on a computer with an i7 processor and 16GB ram with the Message Store database running on the same computer can process 200-300 messages per second (assuming a basic Automation and incoming message size of 1k and no other high CPU intensive applications running).
The speed at which individual Automations can process messages obviously depends on the Automation itself.
You should also ensure that processed messages are removed from the Message Store database when you no longer need to keep a copy. Message removal days are specified on the Solution properties. The ThinkAutomation server removes old messages on a daily basis.
You can view the current queue status and queue size by viewing the ThinkAutomation Server Status web page. Open a browser to http://localhost:9899 on the ThinkAutomation Server computer.