Qlik Community

Integration, Extension & APIs

Discussion board where members can learn more about Integration, Extensions and API’s for Qlik Sense.

Announcements
QlikWorld happening right now! You can still join: REGISTER NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
rbartley
Specialist
Specialist

Single Integration API - strategies for best performance

Hi everyone,

I have been looking at the performance of the Single Integration API when including a large number of charts in a single mashup page.  The reason for using this API rather than the Compatibility API is to minimise the level of coding required and to see whether we can achieve an acceptable result that would allow other teams within the organisation with no Qlik skills to create their own pages with embedded charts.  Here are my findings so far:

Scenario A) All 17 charts (in 17 iframes) loaded at once - total time 18 seconds, but none of the charts are visible at all before then, leading to the impression that nothing is happening (there is a significant delay before the circular loading image appears and then a further delay while the charts load).

Scenario B) One chart is loaded first of all and then after a delay of 1.5 seconds (window.setTimeout), all 16 remaining charts are loaded - all charts are loaded in around 11 seconds, with the first chart loading in as little as under 2 seconds (and an average of just over 2 seconds).   The circular loading icon appears immediately 

Scenario C) Three charts are loaded first, then after a delay of 1.5 seconds (window.setTimeout), all 14 remaining charts are loaded in around 11 seconds, and the first three charts loading in as little as 3 seconds (but an average of 5-6 seconds).   The circular loading icon appears immediately 

There is a significant degree of variability in page load times, which I can only put down to networking issues.  Although I have no proof, I attribute the difference in performance between Scenario A and Scenarios B and C to the handling of Qlik Sense sessions, where I assume that if we allow a short delay between loading the first one or three charts and the others, then a session is available to be used by the other iframes.

I hear that http/2 includes multi-threading that can also improve response times, but I have not been able to find any information regarding whether this is supported by Qlik Sense.

Any advice that could explain this behaviour and improve performance would be gratefully received.

@ErikWetterberg  any ideas?

2 Replies
ErikWetterberg

I'm impressed  that you manage to use 17 iframes att all. Why not build a sheet in Qlik Sense with the charts you need, and put that in an iframe??

rbartley
Specialist
Specialist
Author

Hi Erik,

I'm re-using charts from several apps, combining different data sets and so I was trying to minimise the maintenance overhead.  While I recognise that having everything in the same app and on the same sheet would be most efficient as far as this page is concerned, I wondered if there were any tips you had when this is not the case.