Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article3 min readViews7

Why a Large 1C-Bitrix Catalog Lags Even When Displaying Only Twenty Products

Updated documentation on pagination highlights hidden server load: the server may count the entire catalog just to render a single short page.

Comments 0

A long row of sample boxes in a furniture showroom
In this article

The page displays only twenty products, yet it takes several seconds to load. Images have already been resized, and the hosting plan has been upgraded, but the buyer is still waiting. Sometimes the cause lies not in those twenty product cards, but in the work the server performs before displaying them.

On September 15, 2026, the BitrixFramework documentation updated its materials on pagination. Among the described techniques is abandoning exact counting of all records where it is unnecessary. This is not a new magic button for acceleration, but a reason to review the logic behind large catalogs.

The total number of results at the bottom of the page also requires calculation

To display "48,327 products found," the system must retrieve the total count of matching records. With complex filters, such a query can be more expensive than fetching the first batch of results. This is especially true if the catalog has grown while the previous query scheme has gone unreviewed.

Ask the developer to measure product retrieval and total count calculation separately. Then repeat the measurement with popular filter combinations. Checking only an empty filter does not reveal what happens when a brand, availability, sizes, and multiple attributes are selected simultaneously.

If the delay is caused by a completely different query, removing the counter will not help. The solution must be decided based on measurements, not on superficial symptom similarity.

Not all pages require an exact total

In an action history or a long list of records, a user often only needs a 'Next' button. You can request slightly more items than fit on a page to determine if there is a continuation. This approach is also described in the documentation.

The situation is more complex in a product catalog. The result count helps shoppers assess how much their selection has narrowed. I would not recommend removing it everywhere without checking user behavior. Sometimes it is better to speed up the count, adjust the filter, or review caching.

The 'Show All' button deserves separate attention. For a section with thirty items, it is harmless, but for tens of thousands, it can create a heavy query and an enormous page. The limit must correspond to the actual catalog size.

Speed must not break navigation

After the changes, verify the return from the product card, sorting persistence, and filter functionality. A shopper who views multiple pages must not be redirected to the beginning of the list each time. It is also critical to account for what happens when a product disappears or stock levels change between page transitions.

Acceptance testing should be performed on a copy with a realistic data volume. A small demonstration catalog hides the very issues that prompted the optimization. A good result is predictable response times for shopper-relevant scenarios, not just a high score on the homepage test.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.