Can Magento 2 Really Handle 100K Products?
When we talk about the Magento 2 eCommerce platform, then a question that always arises on the top is “Can Magento 2 Really Handle 100K products?”
Surely, in return every seller or store owner with Magento 2 eCommerce store wants to hear the answer YES. So keeping the suspense apart, Magento 2 can really handle 100k products.
You can even make the searching of these products within your store look like a breeze using the Magento 2 Elastic Search.
Not just 100k products the Magento 2 can also hold around 1 million products at once. So, let’s move forward to get detailed information regarding the management and tech stacks of how this actually happens.
Impact On Multiple Elements
Simply if this huge amount of products will be added to the Magento 2 Marketplace then it will impact some of the aspects or elements of the store. Some of them are mentioned below:
- Product Attributes
- Categories including the depth of its tree
- Configurable/ Bundled products
- Customer Groups that have different product prices.
The management of the products completely depends on which Magento version is in use. Of course, the better will be the version, the best will be the product handling power.
Make Search Process Easy and Quick
It is of course that when more than 100k products will be loaded into the database then it may affect the search process in the front as well as backend.
The integration of the Elastic Search engine to your web store is one of the best options to be chosen. Elastic search is and highly scalable open-source full-text search engine.
This allows the store owner to easily search, store, and manage the heavy volume of products very quickly. So, get up and change your regular MySQL search engine to a complete and quick elastic search engine.
The interesting part is that the store owner can also offer their customers amazing search types. Mentioning the interesting types below:
Simple Search Query
If the store owner is using this search in the store then the customer can search for the product by Name and SKU only.
Multiple Search Query
With the Multiple search query, the customers can search the products by typing any of the p[roduct attributes provided by the admin in the backend. That may include the Name, SKU, Description, Short Description, etc.
With features like this, The elastic search engine will allow customers to search among 100k products in no time. The store owner will also implement the Cron for Index Management on a daily, weekly, or monthly basis.
Cron setup will help to auto-replicate the changes to the Elastic search engine if any of the changes are done in the backend.
In the same way, it affects the layered navigation filters. Check the advanced layered navigation and get the details from here.
Increase Store Security Using CSRF Protection
CSRF OR Cross-site request forgery is a web protection susceptibility that allows an attacker to force users to execute processes that are not supposed to be performed by them.
The impact of CSRF attacks is as dangerous as they can change the customer’s password, or email can access their account, can withdraw an amount, etc.
How to Prevent CSRF Attacks?
CSRF (Cross-Site Request Forgery) tokens can be used to protect the store from CSRF Attacks. These tokens are secret, unique, and completely unpredictable and are attached to the HTTP request made by the client site.
Later, when the same HTTP request is approached by the server site then it checks the token, if that token is not present then the request is rejected.
Since it is almost impossible for the attackers to create an HTTP request just similar to the victim user. Also, the attacker can not predict or construct the CSRF Tokens, or the parameters attached to the request.
Generate the Tokens -> Transmit the Tokens -> Validate the Tokens
So basically the tokens are generated using the PRNG i.e. pseudo-random number generator.
Now, throughout the lifecycle of the token, it is a must that they are also protected. So, they are transmitted to the client site by using the post method inside the HTML Form
Further, the request will be stored under the data of the user’s session and whenever the next request arrives then the system will first match that coming request with any token or not, and if the token is present then it will match it with the store’s token. If they are the same, the request is passed.
Dissimilarity will lead to a complete rejection, and by this, the store sessions are tasks that can be reality managed and protected using CSRF.
As the tokens generated for each request will increase with time and customer request, so one must have a proper storage system to store the tokens.
Redis can be the best in-memory data structure that is BSD licensed. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence.
How Does Upload Happen?
After uploading the products one must check the disc storage consumed for such a good number of products. In PHP there is a sending limit is configured depending on some aspects, which are mentioned below:
Product Count
The admin sets the product count limit for upload, which will be done with each installation.
Product Size
The product size is also a considerable point on which the uploading process will depend. A server timeout is also set up so that the upload will be stopped after a particular time.
Memory and Hardware Requirements
When the products are uploaded it is very important to take care of the following aspects, i.e
- RAM
- Memory
- CPU
The systems must be compatible with and have the appropriate memory to upload such a huge amount of products.
How to Optimize Magento 2 Installation with 100k Products?
- Enable the Full Page cache
- Lazy Loading
- Varnish
- Leverage Browser Caching
- Optimized Images
- Production Mode Enabled
- Images Format can be .webp
- Number Of Products per page
Apart from all these some of them are already mentioned in the above article. By managing all these points one can make the installation process much easier.
Reindexing may take time as the number of products is pretty huge to upload, but that is completely not an issue.
Third-party CDN is purely recommended to host images, JavaScript files, and CSS. One Can use any CDN of their choice in order to increase the access time like Cloudflare, MaxCDN, and AWS CloudFront.
For achieving better security and optimization Magento 2 AWS Speed and Security Optimization is the best module to integrate incorporated with Amazon Web Services.
Manage Unexpected Traffic
Not only the products, but we also need to manage the traffic when more than the expected customers start landing at your store. For that, one must use load balancers that will enhance the store user holding capacity.
With this, the client can access the required data from multiple servers. The load will not be forced into a particular system. AWS Elastic load balancer is suggested.
That’s all for the “Can Magento 2 Really Handle 100K Products?”. Furthermore, still, have any issues feel free to add a ticket and let us know your views to make the module better webkul.uvdesk.com
You may also check our quality Magento 2 Extensions.