Base solution for your next web application
Open Closed

AbpUserConfiguration.GetAll() is very slow #5186


User avatar
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)
  • User Avatar
    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?

  • User Avatar
    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>

  • User Avatar
    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]

  • User Avatar
    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

  • User Avatar
    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.

  • User Avatar
    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?