How to Improve Load Time of Recipient List Overview
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
There isn't an easy way to speed up the queries performed for this page, unfortunately.
You have a couple of options
- Use a page extender for the
Kentico.Xperience.Admin.DigitalMarketing.UIPages.RecipientListOverview
page and override theTask ConfigurePage()
method. Do not callbase.ConfigurePage()
and try to re-implement some of the UI on your own in theConfigurePage()
method.
This page usesPage.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 bepublic
and accessible from your application code. - 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.