Open Closed

Why do I need the Redis cache for the public website? #6533


User avatar
0
ageiter created
  • ABP Framework version: v8.0.1
  • UI Type: Blazor Server
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): no

We have already made several ABP applications with Blazor Server (without Redis Cache). But never with the "Public Website" so far. Now we would like to integrate it and were surprised that the Redis cache is necessary here. We do not have a distributed / tiered application.

I know that this is a prerequisite for the CRM module.

I would be interested to know why the cache is absolutely necessary? What are the reasons for this? Does it have to do with the fact that the Blazor app and the public website share certain things?

I also have the question of how large the cache needs to be if I host the application on Azure... that costs extra money again...

Thanks, Adrian


59 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    https://github.com/abpframework/abp/issues/3487#issuecomment-1820454025

  • User Avatar
    0
    ageiter created

    Thanks for the link, but it doesn't actually answer my question.

    I did NOT select "tiered" when generating the solution.

  • User Avatar
    0
    Anjali_Musmade created
    Support Team Support Team Member

    Hi,

    please check this https://support.abp.io/QA/Questions/1774/Redis--help-me-understand-why-it-is-needed

    thanks

  • User Avatar
    0
    ageiter created

    Thank you, that answers certain questions.

    But WHY can I run the Blazor server app without Redis and not the public website? Is it because the Blazor app is required for authentication and the CRM module, making it a distributed application?

  • User Avatar
    0
    gterdem created
    Support Team Senior .NET Developer

    Both public web app and the BlazorServer back-office (administration) application are using the same application configuration edpoints to get initial data.

    These are Application configuration scripts and application localization scripts which are used for authentication (current user info etc), features, settings, multi-tenancy information and localization information respectively.

    These information are cached to improve performance and shared. That's why dedicated caching server (redis) is being used.

  • User Avatar
    0
    ageiter created

    Thank you very much, I have now understood the concept.

    I assume that you can get pretty far with the minimum resources of 250 MB when hosting on Azure, right?

  • User Avatar
    0
    ageiter created

    We have noticed that the application becomes very slow with Redis. If I deactivate Redis (Blazor app), it runs fine. As soon as I activate Redis, there are noticeable delays.

    For example, sorting 20 entries in a DataGrid (UI generated via the suite) takes about 2 seconds. This is totally unusable. I think it has to do with checking permissions (I've read the same problem of @maris.vigulis here: https://support.abp.io/QA/Questions/6213/Login-performance-issue#answer-3a0f3769-9e3a-6285-9801-8fd2f987d727). You can also see the buttons (Export to Excel, New ...) "flicker".

    Side note: I have Redis running in a Docker container.

    What can I do to improve the performance?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    For example, sorting 20 entries in a DataGrid (UI generated via the suite) takes about 2 seconds.

    There should not be too many Redis requests for this operation.

    Please share the logs of this request.

    Set minimum log level to Debug

    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Debug()
        .Enrich.FromLogContext()
        .WriteTo.Async(c => c.File("Logs/logs.txt"))
        .WriteTo.Async(c => c.Console())
        .CreateLogger();
    
  • User Avatar
    0
    ageiter created

    I have this list with 13 entries and click on "Type" for sorting. This generates the following log entries:

    2024-01-26 09:18:12.941 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:18:12.943 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:18:12.944 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:18:12.947 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:18:12.954 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:18:12.956 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:18:12.956 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:18:12.958 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:18:13.370 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:18:13.372 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:18:13.372 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:18:13.374 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:18:14.016 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:18:14.018 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:18:14.019 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:18:14.022 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create

    When I open this list for the first time after starting the application, it takes about 12 seconds:

    2024-01-26 09:17:37.837 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:17:37.841 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:17:37.841 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:17:37.843 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:17:38.175 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:38.178 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:38.178 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:38.180 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:38.201 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:38.204 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:38.204 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:38.206 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:38.899 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Edit 2024-01-26 09:17:38.903 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Edit 2024-01-26 09:17:38.903 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Edit 2024-01-26 09:17:38.906 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Edit 2024-01-26 09:17:39.387 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Delete 2024-01-26 09:17:39.392 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Delete 2024-01-26 09:17:39.393 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Delete 2024-01-26 09:17:39.395 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Delete 2024-01-26 09:17:39.448 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:39.452 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:39.453 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:39.456 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:39.973 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:17:39.978 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:17:39.978 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:17:39.980 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:17:40.001 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:40.005 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:40.006 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:40.008 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:48.565 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:48.567 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:48.569 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:48.571 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:49.505 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:49.509 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:17:49.510 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:17:49.512 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create

    Now the comparison when I deactivate Redis: First time loading the list (3 seconds):

    2024-01-26 09:27:06.658 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:27:06.658 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:27:06.658 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:27:06.658 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:27:06.880 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:06.880 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:06.881 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:06.881 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:06.881 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Edit 2024-01-26 09:27:06.881 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Edit 2024-01-26 09:27:06.881 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Edit 2024-01-26 09:27:06.881 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Edit 2024-01-26 09:27:06.881 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Delete 2024-01-26 09:27:06.881 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Delete 2024-01-26 09:27:06.881 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Delete 2024-01-26 09:27:06.881 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Delete 2024-01-26 09:27:06.891 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:06.892 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:06.892 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:06.892 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:07.022 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.024 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.025 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.036 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.038 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.040 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.042 +01:00 [DBG] Added 0 entity changes to the current audit log 2024-01-26 09:27:07.278 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:27:07.278 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:27:07.278 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:27:07.278 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:27:07.317 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:07.317 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:07.317 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:07.317 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:08.969 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:08.969 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:08.969 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:08.969 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:09.026 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:09.026 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:27:09.026 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:27:09.026 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create

    Sorting the list (very fast):

    2024-01-26 09:29:04.470 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:29:04.470 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen 2024-01-26 09:29:04.471 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:29:04.471 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 09:29:04.478 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:29:04.478 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:29:04.478 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:29:04.478 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:29:04.505 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:29:04.505 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:29:04.505 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:29:04.505 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:29:04.545 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:29:04.545 +01:00 [DBG] Found in the cache: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create 2024-01-26 09:29:04.545 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 09:29:04.545 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create

    Note: The solution was created with the Blazor Server template version 8.0.1 and uses tenants.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    From the log, you can see that Redis does not have too many requests, so it may be that a single request from Redis took too long.

    These two logs are 8 seconds apart. What happened?

    2024-01-26 09:17:40.008 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create
    
    2024-01-26 09:17:48.565 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:199f43f1-e471-80c9-a6de-3a10538f797c,n:MyProject.Optionen.Create
    
  • User Avatar
    0
    ageiter created

    Sorry, that was an interpretation mistake on my part. Here again, when I restart the application and then load the list for the first time -> 4 seconds:

    2024-01-26 10:15:06.202 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen 2024-01-26 10:15:06.204 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen 2024-01-26 10:15:06.205 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 10:15:06.206 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 10:15:06.464 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:06.466 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:06.466 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:06.468 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:06.484 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:06.487 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:06.487 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:06.489 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:06.944 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Edit 2024-01-26 10:15:06.946 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Edit 2024-01-26 10:15:06.946 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Edit 2024-01-26 10:15:06.948 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Edit 2024-01-26 10:15:06.954 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Delete 2024-01-26 10:15:06.957 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Delete 2024-01-26 10:15:06.957 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Delete 2024-01-26 10:15:06.960 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Delete 2024-01-26 10:15:07.274 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:07.275 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:07.276 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:07.278 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:07.627 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen 2024-01-26 10:15:07.629 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen 2024-01-26 10:15:07.629 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 10:15:07.631 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen 2024-01-26 10:15:07.646 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:07.647 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:07.648 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:07.650 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:09.485 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:09.487 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:09.488 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:09.490 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:10.152 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:10.153 +01:00 [DBG] Found in the cache: pn:U,pk:a638ebb7-ca2f-d603-48b8-3a10573449ae,n:MyProject.Optionen.Create 2024-01-26 10:15:10.154 +01:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:MyProject.Optionen.Create 2024-01-26 10:15:10.156 +01:00 [DBG] Found in the cache: pn:R,pk:admin,n:MyProject.Optionen.Create

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Is this the result?

    4 seconds with Redis 3 seconds without Redis.

  • User Avatar
    0
    ageiter created

    Please focus on sorting in the list. Not on loading for the first time. The difference there is huge.

    Without Redis: 75 ms With Redis: 2s 81 ms

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    What are the time results when you run the application locally with local Redis?

  • User Avatar
    0
    ageiter created

    These are the results when I start the application directly from Visual Studio (debug mode). Redis runs in a container in Docker Desktop.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Can you share your test code? I will test it locally.

    Thanks.

    liming.ma@volosoft.com

  • User Avatar
    0
    ageiter created

    hi

    Can you share your test code? I will test it locally.

    Thanks.

    liming.ma@volosoft.com

    I have sent you an e-mail. Thanks for taking a look.

  • User Avatar
    0
    ageiter created

    The mail was unfortunately rejected... I'll make you a OneDrive share and try again.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Sort the empty list with Redis.

    2024-01-27 15:08:39.282 2024-01-27 15:08:39.393 =111ms

    2024-01-27 15:08:39.282 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen
    2024-01-27 15:08:39.288 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen
    2024-01-27 15:08:39.288 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen
    2024-01-27 15:08:39.289 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.289 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen
    2024-01-27 15:08:39.290 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.290 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.294 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.340 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.341 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.341 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.341 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.392 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.393 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.393 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:08:39.393 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    

    Sort the empty list without Redis(AbpCachingStackExchangeRedisModule)

    2024-01-27 15:11:12.644 2024-01-27 15:11:12.673 = 29ms

    2024-01-27 15:11:12.644 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen
    2024-01-27 15:11:12.644 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen
    2024-01-27 15:11:12.644 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen
    2024-01-27 15:11:12.644 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen
    2024-01-27 15:11:12.648 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.648 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.648 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.648 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.671 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.671 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.671 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.671 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.673 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.673 +08:00 [DBG] Found in the cache: pn:U,pk:e9628ef3-fecd-f61c-a809-3a105bde3d60,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.673 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    2024-01-27 15:11:12.673 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:AnimaliQWeb.Optionen.Create
    
  • User Avatar
    0
    ageiter created

    And how is this statement supposed to help me solve the problem?

    I am not familiar with Redis. Is there any way I can take measurements to test the performance? So that I can find out why it is running so slowly? Can I make changes to the configuration? Is it due to Docker Desktop?

  • User Avatar
    0
    rafael.gonzales created

    I am in the same position as you. Running without redis is much faster. I guess because It requires a standalone reddis to work propperly but I am still investigating too

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Redis will be slower than memory cache, that's for sure. It's just that we need Redis in the distributed scenario.

  • User Avatar
    0
    ageiter created

    Thanks @rafael.gonzales, I'm very interested to see what you find out. If I know it will run faster on Azure, that would be good... but if not, that would really be a problem for us.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Thanks @rafael.gonzales

    I hope we can get some data to provide reference for other customers

  • User Avatar
    0
    ageiter created

    Please do not close until we have found the cause.

Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11