Hi
We were doing some study on performance tunning and observed that when we are receiving a lot of short request for members, fields fields. Is there a way to do like only one request members, with all members data or one fields request for all fields data ?
We tried to use concurrentReuest to run in paralalell but we observed no performance improvement, the request seems not be running in paralell and our app start reseting the scroll position if the concurrentReuest is true (reset scroll is not desired).
Also
If tou have any performance tips for improvement please share.
Thanks
Eduardo
Hello, Eduardo!
Thank you for reaching out to us.
Kindly note that Flexmonster by default is sending one /fields
request, and after that, a separate /members
request for the members of each field. The idea is that in the case of many unique members, multiple small requests tend to perform better than a single large request. If you have more than one Flexmonster instance on the page, the data is loaded separately into all of them.
To advise you more efficiently, could you please provide more details about your particular use case? Any details about the number of rows of data, fields, unique members, and any additional customizations would be a great help.
Regarding the concurrentRequest property, please note that it is used for sending parallel requests for expands and drills, not for the initial members load.
Looking forward to hearing from you.
Kind regards,
Solomiia
Hi
I'm attaching 2 spreadsheets with a comparison of a same set of data but one with the subtotals and other one only in the lowest level to show the performance gap between both.
The concurrentRequest true or false in expands and drills had the same performance result, with true we didn't observed parallel request
Thanks
Eduardo
Hello, Eduardo!
Thank you for providing additional details about the use case.
As an entry step, we recommend narrowing down the bottleneck. Is it the slow network that causes more delay for responses? Does the server require more time than usual to fetch and process the data from the database when there are many small requests? Is this some specific request that takes much time to load? If so, is there any specific data/configurations in the request?
We believe that answering the mentioned and similar questions would help you identify the nature of the delay and then make some improvements on the server.
From our side, we can suggest the following improvements for expanding data on the client:
/select
request for all expands and drills: https://jsfiddle.net/flexmonster/mq02db15/concurrentRequests
feature can send parallel requests for drills and expands. We recommend enabling HTTPS
and HTTP/2
and checking if the requests are sent simultaneously.gzip
to compress responsesHope you will find our answer helpful.
Kind regards,
Solomiia