Magento 2 Extremely Slow Indexing with 3M+ Products – How to Optimize?

We’re running a Magento 2 Open Source store with a very large catalog (currently over 3 million products), and we’re encountering severe performance issues during indexing.

Problem:
Running the indexers (especially catalog_product_price, catalogsearch_fulltext, etc.) takes several days to complete — in some cases up to a full week. This is significantly impacting both our backend and frontend performance.

Setup:
Magento Version: 2.4.6-p8 Open Source

Third-party modules: LOF Multivendor (Landofcoder)

Server Specs (InterServer Dedicated):

CPU: AMD Ryzen 9 5950X (16-Core)

RAM: 128GB DDR4

Disk: HGST Enterprise SATA 12TB (no RAID)

OS: Ubuntu 20.04 LTS

No control panel (CLI only)

Hosting: Single-node server (DB + web + app)

What We’ve Tried:

Running indexers manually via CLI

Disabling unneeded cron groups during reindex

Ensured Elasticsearch is configured correctly (running 7.x)

Checked disk I/O and load — both seem acceptable

Future Plan:
We are planning to scale this store to 12 million products, so indexing performance is a critical concern. We’re evaluating whether Adobe Commerce would be more suited for this scale, but would like to explore Open Source optimizations first.

Questions:
Is Magento 2 Open Source suitable for catalogs of this size?

What are best practices to optimize indexing for large catalogs?

Any experience or case studies from the community dealing with 5M+ or 10M+ products?