- 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)
-
0
hi
https://github.com/abpframework/abp/issues/3487#issuecomment-1820454025
-
0
Thanks for the link, but it doesn't actually answer my question.
I did NOT select "tiered" when generating the solution.
-
0
Hi,
please check this https://support.abp.io/QA/Questions/1774/Redis--help-me-understand-why-it-is-needed
thanks
-
0
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?
-
0
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.
-
0
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?
-
0
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?
-
0
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();
-
0
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.
-
0
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
-
0
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
-
0
Is this the result?
4 seconds with Redis 3 seconds without Redis.
-
0
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
-
0
hi
What are the time results when you run the application locally with local Redis?
-
0
These are the results when I start the application directly from Visual Studio (debug mode). Redis runs in a container in Docker Desktop.
-
0
hi
Can you share your test code? I will test it locally.
Thanks.
liming.ma@volosoft.com
-
0
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.
-
0
The mail was unfortunately rejected... I'll make you a OneDrive share and try again.
-
0
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
-
0
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?
-
0
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
-
0
Redis will be slower than memory cache, that's for sure. It's just that we need Redis in the distributed scenario.
-
0
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.
-
0
Thanks @rafael.gonzales
I hope we can get some data to provide reference for other customers
-
0
Please do not close until we have found the cause.