فتح مغلق

Help needed: what's LanguageManagement doing here? #2625


User avatar
0
hillin خلقت

When we are having many (~100) requests simultaneously, we frequently get this timeout exception when trying to read c:Volo.Abp.LanguageManagement.Texts,k:App:App_zh-Hans from redis, and it seems to be the culprit which drags the server performance drastically. Can you help me to understand what LanguageManagement is doing here? How can we optimize for this situation?

  • ABP Framework version: v4.3.2
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes


10 إجابة (إجابات)
  • User Avatar
    0
    maliming خلقت
    فريق الدعم Fullstack Developer

    hi Please set the log level to DEBUG, then share the error logs. Thanks

  • User Avatar
    0
    liangshiwei خلقت
    فريق الدعم Fullstack Developer

    May I ask what Redis(windows or Linux) version are you using?

  • User Avatar
    0
    hillin خلقت

    May I ask what Redis(windows or Linux) version are you using?

    It's Redis server v=6.2.4 running on Ubuntu server 20.04.

  • User Avatar
    0
    hillin خلقت

    @maliming here is the log with debug information, does not seem more useful.

  • User Avatar
    0
    maliming خلقت
    فريق الدعم Fullstack Developer

    hi

    Did you output the logs to the console? if yes, You can disable it.

    It's Redis server v=6.2.4 running on Ubuntu server 20.04.

    Does the server's CPU/memory and network bandwidth meet your request?

    You can check this https://stackexchange.github.io/StackExchange.Redis/Timeouts

  • User Avatar
    0
    hillin خلقت

    Did you output the logs to the console? if yes, You can disable it.

    Sorry but I don't quite get it, what's the point of disabling the console log output?

    Does the server's CPU/memory and network bandwidth meet your request?

    It's running on an internal bare metal test server on our intranet, not really fancy on the specs (Xeon E2224 + 24GB RAM) so I guess it could be somewhat CPU-bound when processing a lot of requests. However we'd like to understand why LanguageManagement and Redis are involved here (which is of course not related to the business logic of these requests), and if possible, how can we cut them off to increase the server throughput.

  • User Avatar
    0
    maliming خلقت
    فريق الدعم Fullstack Developer

    Sorry but I don't quite get it, what's the point of disabling the console log output?

    https://stackoverflow.com/questions/30418886/how-and-why-does-quickedit-mode-in-command-prompt-freeze-applications?answertab=votes#tab-top

    You can remove the DynamicLocalizationResourceContributor.

    Configure<AbpLocalizationOptions>(options =>
    {
        options.GlobalContributors.Remove DynamicLocalizationResourceContributor
    });
    
  • User Avatar
    0
    hillin خلقت

    https://stackoverflow.com/questions/30418886/how-and-why-does-quickedit-mode-in-command-prompt-freeze-applications?answertab=votes#tab-top

    This is not relevant to our case, our service is running on a Ubuntu machine, it does not have a console window and we absolutely won't click to freeze it. The screenshot you see is from an SSH session.

    You can remove the DynamicLocalizationResourceContributor.

    Configure<AbpLocalizationOptions>(options => 
    { 
        options.GlobalContributors.Remove DynamicLocalizationResourceContributor 
    }); 
    

    Thanks, we'll have a try.

  • User Avatar
    0
    maliming خلقت
    فريق الدعم Fullstack Developer

    Thanks, we'll have a try

    This will disable the Language Management feature. You need the troubleshooting now.

  • User Avatar
    0
    hillin خلقت

    Thanks guys, removing the DynamicLocalizationResourceContributor has solved the problem.

Made with ❤️ on ABP v8.2.0-preview Updated on مارس 25, 2024, 15:11