Open Closed

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


User avatar
0
hillin created

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 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

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

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

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

  • User Avatar
    0
    hillin created

    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 created

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

  • User Avatar
    0
    maliming created
    Support Team 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 created

    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 created
    Support Team 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 created

    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 created
    Support Team Fullstack Developer

    Thanks, we'll have a try

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

  • User Avatar
    0
    hillin created

    Thanks guys, removing the DynamicLocalizationResourceContributor has solved the problem.

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