Updated 24 December 2025
Bagisto, is an open source eCommerce platform built on Laravel. It is designed to be flexible, strong, and ready to support growing businesses.
As product catalogs expand into the millions, maintaining high performance becomes a critical factor.
This blog explores advanced strategies to scale Bagisto for managing 10 million products, focusing on database optimization, caching, and efficient queue management.
When scaling an eCommerce store to handle millions of products, the challenges evolve as the product catalog grows.

With around 0.2 million products, the system performs smoothly, handling database queries and searches efficiently without the need for advanced optimizations.
At 10 million products, the database and search face heavy load, so advanced tools like Elasticsearch and optimized caching are needed to maintain stable performance.
Key Challenges:
Let’s explore how Bagisto, built on Laravel, handles these challenges and scales efficiently.
Bagisto uses MySQL/MariaDB by default, and to handle 10 million products efficiently, we need to optimize both the database and the way the platform interacts with it.
Bagisto uses Eloquent ORM for database queries, simplifying database interaction, but with large datasets it can slow down. To improve performance, optimization is needed.
Bagisto structures indexed data for efficient search and retrieval, storing product information in Elasticsearch as documents within indices.

Each document in an index represents a product or product-related data (like product name, price, description, etc.).
This structured approach allows Elasticsearch to efficiently manage and retrieve product information.
When a user searches in Bagisto, Elasticsearch scans indexed data to deliver fast, accurate results, improving search speed and enhancing the overall user experience.
To enhance Bagisto performance, the following indexers play a crucial role:
Price Indexing: In Bagisto, price indexing keeps product prices accurate and up-to-date by updating the database whenever changes occur, ensuring consistent storefront pricing.
Inventory Indexing: In Bagisto, inventory indexing keeps product stock levels accurate by updating quantities in real time.
Bagisto automatically updates inventory when customers buy, return, or restock products, ensuring accurate stock display and consistent pricing rules.
ElasticSearch: Elasticsearch manages large data volumes and provides fast, scalable search results. Bagisto uses it to index products, greatly improving search performance.
One of the most critical components of scaling an eCommerce platform is ensuring that product search functionality remains fast and efficient, even with millions of products.
While MySQL/MariaDB handles basic queries, they struggle with full-text search and complex filtering on large catalogs, which is where Elasticsearch excels.
Elasticsearch is a fast, scalable search engine with strong full-text search features. Integrating it with Bagisto helps deliver better search performance and results.

Integrating Elasticsearch for Bagisto helps search performance scale smoothly as the product catalog continues to grow.
2. Integrating Elasticsearch with Bagisto
Integrating Elasticsearch with Bagisto is straightforward. First, configure your Elasticsearch instance and connect it through the admin panel.
Bagisto will automatically index products, including attributes like name, description, price, and availability.
Here’s a simple configuration for integrating Elasticsearch with Bagisto:
To configure Elasticsearch, please refer to the Configuration Setup documentation.
Elasticsearch indexes products in real-time, ensuring that Bagisto instantly reflects additions or updates.
This keeps product searches up-to-date, which is crucial in eCommerce environments where product information changes frequently.
Here’s a final benchmark of search performance and page load time after implementing Elasticsearch.
The image shows that the Home page loads in around 585.16 milliseconds with the 10 million products.

In the image below, you can see the Home page load time is around 561 milliseconds with the 10 million products.

In the below image below, you can see the category page load time around 516 milliseconds with the 10 million products.

Watch this video to scale your eCommerce project for massive growth without sacrificing speed or user experience.
Conclusion: Future Scalability Beyond 10 Million Products
Scaling Bagisto to handle 10 million products is a challenging but achievable task.
By optimizing the database with eager loading and batch updates, and integrating Elasticsearch for fast, real-time search, you can improve your store’s performance.
Leveraging advanced caching techniques further ensures that your Bagisto-powered store remains fast and responsive, even as the product catalog grows.
If you need custom solutions, hire a Laravel developer to build features for your store. Explore more Bagisto extensions and tools on the official Bagisto website.
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
2 comments
We would first like to clarify that there’s no functionality in Bagisto that hampers performance or speed. Bagisto is designed as an open-source platform, offering all the essential features required for a complete eCommerce setup that can be freely downloaded, installed, and used.
Since it’s open source, clients have the freedom to customize the platform as per their specific business needs. Many users prefer handling such customizations on their own, and if they need our team’s assistance — and those requests are provided as paid custom services.
Bagisto currently powers over 100,000 live websites, with many users successfully deploying and customizing their stores independently. Our goal has always been to empower businesses with a flexible, open-source solution — not to restrict functionality or charge unnecessarily.
We also understand your concerns regarding the admin panel and available features. The Bagisto team is continuously working to enhance the platform’s UI/UX and introduce new functionalities to make it even more user-friendly and feature-rich.
Regarding the image upload functionality — currently, the system automatically picks the product name as the default alt text. However, the option to manually add alt and title attributes is planned for the upcoming 2.4 release.
We truly appreciate your feedback, as it helps us improve the platform further. Please stay tuned for future updates — you’ll notice significant improvements in both usability and performance.