Answer the question
In order to leave comments, you need to log in
What are the options for optimizing an online store on MODX Revolution for a large number of products?
Hello!
BACKGROUND
There is an online store on MODX Revolution 2.5.2-pl.
Works with Shopkeeper3, TagManager2, pdoTools.
Attendance ~100 people / day (but will grow).
There is experience in creating dozens of online stores, but the maximum that was 8,000 products.
No problems were observed.
The store was created for a clothing manufacturer, where the assortment was small.
The site coped with its work even at the minimum tariff of shared hosting Ukraine (1 Gb SSD, 64 Mb RAM, PHP7).
Then the client began to expand.
Now I am writing for him to synchronize goods between his store and other manufacturers.
At the moment, there are 15,000 products on the site, 500-1000 products are added daily.
In order to work normally, I transferred the site to a VPS (50 Gb SSD, 2 Gb RAM, PHP7).
The user side of the site is fast, thanks in large part to MODX caching.
PROBLEM:
15,000 items is just the beginning, there will be about 100,000 items.
I have already encountered the problem that there are 7000 products in one category and it does not open from the admin panel.
But, this is not critical, there is another way to work with goods.
They are afraid of unforeseen possible problems with a large number of goods.
QUESTION:
Several questions:
Answer the question
In order to leave comments, you need to log in
Somehow, from nothing to do on a dark winter night, I also flooded about 100k resources.
Without a cache, filtering becomes hell. But having washed down my quick snippet, which itself caches everything that is needed, 100k products began to be filtered rather quickly. Not perfect, but noticeably faster. This is with the settings in the TV.
In general, with such an amount, it is necessary to expand the modResource table with the parameters that are needed. Thus, the request will go not to roughly 150 tables, but to one. On this topic, if I'm not mistaken, Nikolai Lanets (f1losof) wrote quite accessible. Or in general, file a class that will process all the goods in the same folder. This way they won't mix with news and other dynamic resources in the same table. Cutlets separately - flies separately.
If there is a desire to achieve speed, then IMHO, you must use strictly your own snippets, sharpened strictly for the task of the project, and minimize the number of databases to which requests go.
Yes, you don’t really use anything there. If you take Minishop2, then everything was done there quite optimally from the very beginning. The rest is configured on the server side.
In general, Modx is not particularly suitable for large and complex projects. Not thought for this.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question