Limit customer groups and shared catalogs by websites
A large number of product SKUs, websites, customer groups, or shared catalogs will impact the running time of the Product Price and Catalog Rule indexers. This is because by default, all websites are assigned to all customer groups (shared catalogs).
To decrease indexation time, you can exclude certain websites from customer groups (shared catalogs).
Set up Redis
Sometimes one Redis instance is not enough to serve incoming requests. There are several solutions that we can recommend to address this situation.
First, Commerce allows you to configure separate cache storage for each cache type. This allows you to install as many separate Redis instances as the number of types of cache that are registered in Magento. Realistically, you might want Redis instances for the most actively used caches, such as configuration, layout, and blocks.
Another solution can be to place the configuration cache on the file system and move the other caches to the Redis server. With this solution, you need a separate tool for centralized invalidation of configuration cache on all your web nodes.
You could also use a Redis cluster that performs parallel read/write operations with an automatically-increasing number of nodes. Commerce does not provide configuration for this case, but it can be launched with minor customizations.
Set up RabbitMQ
Adobe Commerce supports message queues implemented through RabbitMQ. Commerce uses this service for executing numerous asynchronous operations, including B2B catalog operations and asynchronous stock updates. All interfaces for adding more jobs to the job server are distributed with the product and are available for custom asynchronous logic implementation in the scope of third-party extensions. As with any other integration, Commerce provides a sample configuration file for RabbitMQ that contains all recommended settings and is fully ready for production usage.