How to Improve Load Time of Recipient List Overview

2025/02/05 8:07 PM

Hello, we currently have around 180,000 contacts in a recipient list for our newsletter. The issue is that the Recipient List Overview page on the admin side takes over two minutes to load (after a clear cache) and around 10-15 seconds with a cache hit. With some investigation, we found that the issue lies with the statistics (Recipient Statuses) for the number of receiving, bounced, and unsubscribed contacts where there is an individual SQL query to the database for each individual contact to the EmailLibrary_EmailSubscriptionConfirmation table. This results in over 360,000 individual queries to the database. Even with an index, the page still loads over 2 minutes. Is there any way on our side to improve this?

Thanks!

Matthew


Environment

  • Xperience by Kentico version: [29.7.3]
  • .NET version: 8
  • Execution environment: Private cloud

Answers

2025/02/05 8:53 PM
Answer

There isn't an easy way to speed up the queries performed for this page, unfortunately.

You have a couple of options

  1. Use a page extender for the Kentico.Xperience.Admin.DigitalMarketing.UIPages.RecipientListOverview page and override the Task ConfigurePage() method. Do not call base.ConfigurePage() and try to re-implement some of the UI on your own in the ConfigurePage() method.
    This page uses Page.PageConfiguration.CardGroups to display its information and you can create your own and set whatever you want displayed on this page.
    To make re-implementing the page easier, decompile the source for the page (Visual Studio or a VS Code extension should allow you to do this easily) and try re-implementing the parts you want. Most of it should be public and accessible from your application code.
  2. Contact support and explain your issue. This could be identified as a bug since large numbers of contacts ideally wouldn't cause this page to be unusable.

To answer this question, you have to login first.