Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
We are using Qlik Sense + Geo analytics in our application and we are facing issue of latency. Our map is taking almost 20-35 seconds to load.
How we are loading data in our app?
We have our SQL Server database on RDS Amazon Cloud (AWS) and we are loading custom map data from database through SQL query. City names are coming from our database but we are getting Country names, ISO Code and Geometry from Qlik location service as below:
SQL SELECT [Country_Name], [Country_Geometry], [CountryIso2] FROM Load(dataset='Country')
DATASOURCE Country LOCATIONSERVICE geometry='AREA', type='APCLI', country='', serviceName='default'
At Qlik app side
GeoAnalytics Layer
We are not using https://maps-qlikcloud.com to load our map, instead of this we are using https://ga-maps-qlik.######.com
We have acquired our own Qlik server and we are loading maps from that server only, as shown below in image:
Area Layer
In area layer, as a dimension we are using 'Country_Geometry' to load all geo points initially. This Country_Geometry we are getting from location service query as shown above.
Prior to 'Country_Geometry' we were using Country_Name. So we have reached out to one of the Qlik member, and he has suggested us to remove 'Country_Geometry' instead of 'Country_Name'. But still things are not as expected.
Bubble Layer
On bubble layer we are using City name directly as shown below:
In infobubble of bubble layer we are writing some HTML to beautify our data on bubble click.
With this Qik app we are using following extensions:
-Current Selection: To represent current selection of map. Whatever selection we have made will come through this extension.
-Legend Extension: To showcase all map related legend.
We are also using mashup to beautify our maps.
Have a look of our complete map with details:
Please suggest what change we can make to improve map performance?
Thanks
Dilip Solanki
Afraid I don't know the answer, but I would be interested if anyone else does as I have a similar issue.
What exactly is the lag for?
I've built quite a few maps on QlikMaps and also other free versions.
Only reason I saw the lag is the data volume I.E if there are too many data points on the map and if the measure is too complex to calculate.
Other than that for the map you've it should be faster.
Another main reason could be the Multi map, using both Latitude/Longitude and Polygon map (KML/CSV) on single map.
Maybe try separating both maps? Polygon and Points as different map objects and see if it increases the performance?
Hi Khan,
Actually the lag is loading time of each layer. When we load map first, QlikMap built in loader appearing for 10 seconds, then all our map pins are appearing then area layer is appearing then after 5-10 seconds area layer is coloring. So this entire process is taking almost 25-40 seconds and that is really worse.
As you have asked we are not having much data points. For country data points we are using location service, so that map will not get data points on loading, country data points will be there in Qlik internal database.
For plotting city pins on map, we do not have any location service so we are using City name directly instead of city data point.
We are not using both Latitude/Longitude and Polygon map (KML/CSV) on single map, we are only picking data through SQL query.
Please have a look at our area layer measure:
Our measure expression is not too complex.
Please let me know if you need any other inputs.
As far as my knowledge concern, Qlik Sense and Geo Analytic they both are different module but they both works together. So we have discussed with one of the Qlik team member and she has suggested Qlik Sense is taking time not geo-analytic. [I do not know how this can possible]
Thanks
Dilip Solanki
Save your Data into QVD and don't directly read from DB....Qlik will first ping our db server, read and load. That is some work...
Save the QVD and read from your local
Plus check the Network, right click, 'Inspect' in Chrome or if in IE, hit F12.
That would show you ping time for your services used.
If a map is Multi layer, it will mostly lag. In your case it is multi layer.
Ploygon+Data Point etc.
As i mentioned earlier, create 2 maps and check the lag if any?
But I think, Qlik is not loading data from SQL database all the time, once we do reload, Qlik will store that data into its internal database (I don't what this database known as, is it QVD?). So whenever we run our map, Qlik loads data from that internal database.
To update that internal database we have scheduled task in Qlik QMC.
Please correct me if I am wrong.
Thanks
Dilip Solanki
Yes, Qlik stores the data that's why it is In Memory tool, Data Indexing.
If you can explain what is Internal Database?
Usually most of the developers stores the tables into QVD, this is like a Zip format for Qlik. The size of the data is compressed and as it is Qlik file, it would read much faster than a XL/external DB.
Check your script in extract or transform or source app if you guys using Store command after the tables to save the table into QVD's
In QMC you can only run qvf files, not qvd.
For what I understand, you have a extract file which is extracting data from SQL and you created a task in QMC for that in QMC.
Then you storing that tables into QVD, creating a new task to load QVD's in a QVF <<< This will be a quicker load.
If you like it more quick then you can do Binary Load but that shouldn't effect your frontend.
This is just for reload time.
Your front end totally depends on how much size is the data, no of objects in app and your expressions.
Check the below link to see the load time for each object for your QVF. A wonderful app built by Rob, 'Document Analyzer'
Document Analyzer V3.0 Update Available
This will give you kind of in depth analysis of everything in your app.