Open Closed

AbpUserConfiguration.GetAll() is very slow #5186


0
doligence created

It takes too long for AbpUserConfiguration.GetAll(). The loading time for my case ranges from 6 to 15s.

This causes bad UX.

Is there any way to optimize it?


6 Answer(s)
  • 0
    alper created
    Support Team

    Your Zero version? Your ABP version? Your computer ? (Mac / Windows) Does this slowness occurs on every request or just on the first request?

  • 0
    doligence created

    It's Zero version, Abp libs v3.5.0

    I deployed on Azure, developed on a Mac.

    You could just try it out by loading this logging page. <a class="postlink" href="https://dev.doligence.com/account/login">https://dev.doligence.com/account/login</a>

  • 0
    alper created
    Support Team

    Your first request is relatively slow. This is booting up the application. Next GETALL() requests are faster. But still worse than <a class="postlink" href="http://demo.aspnetzero.com">http://demo.aspnetzero.com</a> You have to analyze the operation time in server for GetAll(). Because network transport slowness is also included in that time. Normally GetAll() must be finished in milliseconds.

    Benchmark on <a class="postlink" href="https://dev.doligence.com/account/login">https://dev.doligence.com/account/login</a> [attachment=1:c3pewnf4]getall-slowness.jpg[/attachment:c3pewnf4]

    Benchmark on <a class="postlink" href="http://demo.aspnetzero.com/account/login">http://demo.aspnetzero.com/account/login</a> [attachment=0:c3pewnf4]getall-slowness-aspnetzero-demo.jpg[/attachment:c3pewnf4]

  • 0
    doligence created

    Hi,

    Thank you very much for your prompt repnse.

    My site still loads very slow, especially after logging in.

    Is there any special requirement for the server side?

    I deployed the frontend and backend on Azure.

    • Frontend: Standard: 1 Small
    • Backend: Standard: 1 Small

  • 0
    ismcagdas created
    Support Team

    In order to debug this problem, you can create your own version of <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.AspNetCore/AspNetCore/Mvc/Controllers/AbpUserConfigurationController.cs">https://github.com/aspnetboilerplate/as ... troller.cs</a> and call it instead of default controller.

    You also need to create <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.Web.Common/Web/Configuration/AbpUserConfigurationBuilder.cs">https://github.com/aspnetboilerplate/as ... Builder.cs</a> which you need to use in your own AbpUserConfigurationController implementation.

    Then you can comment out line by line when returing the result of GetAll to detect which part causes the slowness. I suggest you to start by Timing property.

    I'm not a expert about Azure but it might be related to your DB/Web site tier as well.

  • 0
    haintech_dev created

    I have this same error, but it happens to me when I have days of execution and at the moment it begins to happen. I am using the application with docker. I am still using on azure too. Was it determined why this happened?