Activities of "portx-dev"

Answer

Thanks for sharing that. But increasing the timeout is not fundamental solution. The problem is slow commands. I doubt many redis commands dispatched at the same time affect to bad performance. One of the requests dispatched1456 redis commands. Is that normal?

Question

Hi, we have redis commands that timeout. I asked that problem in StackExchange/StackExchange.Redis, and got the answer.

It looks like you're experiencing thread exhaustion (WORKER: (Busy=38,Free=32729,Min=8,Max=32767)), likely from long-running synchronous operations. I can't say about the rest of your application, but you for sure have some synchronous Redis calls (sync-ops: 7262, async-ops: 28127). You'll want to do all those things async to have much better utilization of the thread pool and less blocking/stalls as a result of thread exhaustion (waiting for a new one to become available).

reference: https://github.com/StackExchange/StackExchange.Redis/issues/2558

According to the analysis, what we can do for solving timeout issue in ABP Framework?


ABP Framework version: Commercial 7.2 UI type: Angular DB provider: EF Core

Answer

By the way, we use "Amazon ElastiCache for Redis". When using AWS, is there a recommended redis service?

Answer

I would like to stop using redis to isolate the problem. How can I stop using redis?

Question

Hi,

We found some redis commands are very slow(1~53s), and fails in test environment. We use amazon elasticache(redis) for our test environment.

slow command examples are below.

HMGET t:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,c:Volo.Abp.LanguageManagement.Texts,k:PortX:PortX_ja HMGET t:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,c:Volo.Abp.LanguageManagement.Texts,k:PortX:AbpValidation_en HMGET c:Volo.Saas.Tenants.Tenant,k:PortX:i:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,n:null EXPIRE t:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,c:Volo.Abp.LanguageManagement.Texts,k:PortX:AbpValidation_en EXPIRE t:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,c:Volo.Abp.LanguageManagement.Texts,k:PortX:AbpValidation_ja EXPIRE c:Volo.Saas.Tenants.Tenant,k:PortX:i:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,n:null HMGET t:3a0c1d64-4d96-0ab6-9c31-0a332a2b8a8e,c:Volo.Abp.PermissionManagement.PermissionGrant,k:PortX:pn:R,pk:admin,n:PortX.RegularProjectRequestHistories.Create

We had a lot of time to investigate the reason with Datadog APM and redis insight, but we've not found the exact reason.

[investigation result]

  • the most portion of the commands are fast(12.81ms by 99 percentile). few commands are very slow(1~53s).
  • server resource is enough (cpu/memory utilization is under 40%)
  • redis resource is enough (cpu/memory utilization is under 40%)
  • values returned by slow commands are not so large.
  • we don't customize framework code which execute redis commands.
  • we found the value of the key t:*:Volo.Abp.LanguageManagement.Texts,k:PortX:PortX_ja is almost empty: { "dictionary": {} }

With these slow commands, we couldn't meet our customers needs.

We doubt

  • Amazon Elasticache(redis) have bad compatibility with ABP framework?
  • We use Amazon Elasticache(redis) with default parameters. There is room for customization?
  • Should we customize some configuration in ABP framework?
  • We mis config some setting?

ABP Framework version: Commercial 7.2 UI type: Angular DB provider: EF Core

Thanks.

I have read the content you provided.

Now, I have question about deep implementation in abp application.

When I login in id application, there is no session info(image1). And after authentication redirecting to main application, there is session info(ex. access_token, id_token, ...) in local storage(image2).

My question is, how is the session info passed from id application to main application? Is there any global state?, or the services communicate with in back channel?

Is there any document about authorization or session management in abp commercial? If abp commercial application extends authorization function from asp.net core, I want to know the document about it.

my goal

  • understand how session is managed in abp commercial.
  • how to access backend api with session infos.

background

  • Now, I'm setting up OWASP ZAP client to test abp application.
  • I want OWASP ZAP client to login abp application itself before penetration test.
  • I have to set OWASP ZAP configuration, relating to authorization(ex. authentication method, session management)

Thanks for your support.


ABP Framework version: Commercial 7.2

UI type: Angular

DB provider: EF Core

Answer

thx

I plan to embed bi tools like power bi and QuickSight inside ABP Commercial. Does ABP Commercial have a BI library/tool that works well with ABP Commercial? Or do you have a recommended BI library/tool?


ABP Framework version: Commercial 7.2

UI type: Angular

DB provider: EF Core

Answer

テナントのクローンを作成するためのサンプルコードはありますか?

Zobrazeno od 11 do 20 z celkem 65 záznamů
Made with ❤️ on ABP v8.2.0-preview Updated on března 25, 2024, 15:11