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?


5 Answer(s)
  • 0
    alper created

    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. https://dev.doligence.com/account/login

  • 0
    alper created

    Your first request is relatively slow. This is booting up the application. Next GETALL() requests are faster. But still worse than http://demo.aspnetzero.com 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 https://dev.doligence.com/account/login [attachment=1:c3pewnf4]getall-slowness.jpg[/attachment:c3pewnf4]

    Benchmark on http://demo.aspnetzero.com/account/login [attachment=0:c3pewnf4]getall-slowness-aspnetzero-demo.jpg[/attachment:c3pewnf4] getall-slowness.jpg getall-slowness-aspnetzero-demo.jpg

  • 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

    image

  • 0
    ismcagdas created

    In order to debug this problem, you can create your own version of https://github.com/aspnetboilerplate/as ... troller.cs and call it instead of default controller.

    You also need to create https://github.com/aspnetboilerplate/as ... Builder.cs 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.