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 readViews3

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

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

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

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

On September 15, 2026, the BitrixFramework documentation was updated with materials on pagination. Among the described techniques is avoiding the exact count of all records where it is unnecessary. This is not a new magic speed button, but an opportunity to review the logic of a large catalog.

The page number at the bottom also requires calculation.

To display '48,327 items found', the system must retrieve the total count of matching records. With complex filters, such a query can cost more than fetching the first batch of results. This is especially true if the catalog has grown while the original 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 determined by measurements, not by superficial similarity of symptoms.

Not all pages require an exact total

In an action history or a long list of service 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 more content. This approach is also described in the documentation.

The situation in the product catalog is more complex. The number of results helps shoppers assess how much their selection has narrowed. I would not remove it everywhere without checking user behavior. Sometimes it is better to speed up the count, adjust the filter, or reconsider caching.

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

Speed must not break navigation

After making changes, verify returning from the product card, sorting persistence, and filter functionality. A shopper who views multiple pages should not be sent back to the start of the list each time. It is also important to consider what happens when a product disappears or stock levels change between page transitions.

Receiving is best performed on a copy with a realistic data volume. A small demonstration catalog hides exactly the problems that prompted the optimization. A good result is predictable response times for the buyer's relevant scenarios, not just a pretty number in the main page test.

Discussion0

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

No comments yet. Start the discussion.