I am creating a jewellery store in Magento 2, and I am having doubts about the way to best create products.

A worst case scenario product; a ring can come in numerous metals, finger sizes, depths and widths. Just with these options alone I end up with nearly 10,000 simple products for a single configurable product. Each of these options effect the price, weight and image of the product. Excluding finger size, where it only changes the price and weight after a certain point, for example finger sizes between 3 and 8 (US) or F and P (UK) are one price and weight, and sizes between 9 and 13 (US) or Q and Z (UK) are another price and weight. I plan on having about 4 configurable products around this size, and another 100 or so with slightly less options.

The main issue I run into is the page size and load time, which I can only assume is down to the large amount of javascript that is on the page, containing all the prices and image locations for each combination of options, to allow for the price to be updated. Currently using the blank theme with only a single image per product option I get page load times of between 4 and 6 seconds and a page size of around 800kb, but ideally I would have three images per product option, so I can only imagine these will get worse. This is also when the page has been cached, if I refresh the cache the page load time drops to over 30 seconds.

As a side note, I have also changed the way Magento fetches the product images when an option is changed, by default it performs an ajax call to get the data, but this was taking around 10 seconds to complete. So I rewrote the javascript to fetch the image urls from the large pool of javascript already on the page, just like the way it fetches the price, which allows for instantaneous image updating.

Another issue I am facing is when trying to make a change to the configurable product in the admin panel, my browser tends to crash which I can only assume is down to the 10,000 simple products that are trying to be loaded in to the configurations panel.

Does anyone have any suggestions on how else I can create these products, or any way to improve page size and load time with such large configurable products?

Thanks in advance, Chris.

  • Did you find any solutions for your problem or a workaround?
    – Carloscody
    Jul 2, 2019 at 15:45

4 Answers 4


We've open sourced our solution for using configurable products with an extremely large amount of associated simple products; https://github.com/elgentos/LargeConfigProducts, which has a workaround for this issue.


If it is not important for you to have stock levels for simple products, then you are better off using products with custom options. If it is, I think your best way is to write an extension that only loads the first product option on page load, and gets/renders subsequent options with Ajax.


We are having the same problem with Magento, Our store is auto part accessories and we have one configurable product with about 15,000 simple product, we are using cache to lower the page load time, however it still not good enough. As long as the page is cache it works fine and loads within 2 seconds but once it's uncached then it gets HTTP ERROR 500. We are thinking of the same solutions that simonthesorcerer suggested but can't find anyone who knows what they are really doing. We can't take risk on live website.


What solved in my case the same isse below:

Try PotatoCommerce Full Page Cache paid version:

https://potatocommerce.com/full-page-cache.htmlenter link description here

Use redis database cache instead of file caching - extremely faster;

Use redis sessions instead of file - faster as well;

After enabled and configured create a simple robot based on your sitemap.xml and run it. There can be 500 error on first load by the robot, but it will go into the cache and real users will not see the error.

Everytime you clear the full cache remember to run this robot again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.