Login slowness due to a large number of "SC_TICKET" properties


Description

The "SC_TICKET" records corresponding to expired sessions are automatically deleted by Sitecore.Tasks.CleanupAuthenticationTicketsAgent from the Properties table of a database. However, if the agent fails to clean them up, the expired records remain in the Properties table. Large numbers of "SC_TICKET" records can lead to performance degradation of the login process.

Solution

To resolve the issue, download and install the patch compatible with the affected product version found on this page:
https://github.com/SitecoreSupport/Sitecore.Support.223702/releases.

Note, for Sitecore XP 9.0.0, to clean up the Properties table of a database after installing the patch as follows:

  1. Open showconfig.aspx and double-check the required database by searching for "PropertyStoreProvider", for example:
    <PropertyStoreProvider role:require="ContentManagement or ContentDelivery">
      <patch:attribute name="defaultStore">web</patch:attribute>
    </PropertyStoreProvider>
    By default, it is the Web database for scaled instance, and the Core database for a Standalone instance.

  2. Use a query similar to the following, which removes all authentication tickets (a side effect is that all the active sessions also become expired after this):
    USE {your_database_name};
    DELETE FROM [dbo].[Properties]
    WHERE [dbo].[Properties].[Key] like '%SC_TICKET%'