drupal maps, clustering

13
Drupal Maps Showing big amount of map points in views

Upload: christopher-calip

Post on 18-Dec-2014

750 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Drupal Maps, Clustering

Drupal MapsShowing big amount of map points in views

Page 2: Drupal Maps, Clustering

Typical Drupal Map Views Recipeviewsleafletgeocodergeofieldaddressfieldopenlayersetc.. etc..

Page 3: Drupal Maps, Clustering

IT WORKS! The End, EASY!

Page 4: Drupal Maps, Clustering

You want what?!2000 map points in the map?sure .. Drupal can do that easy. HEHE I just set the limit of views to no limit!

Yay no limit views!

Page 5: Drupal Maps, Clustering

Your map looks ugly?

Page 6: Drupal Maps, Clustering

Your map page is slow?There's actually a drupal-tific explaination for that:http://drupal.org/node/1828584It's a troublesome space trying to deal with presenting large amounts of map points on a map. Typically in drupal space because of other implementations of drupal views mapping integration we experience an exponential theme function calls that directly dependent on the number of records and fields on a view. Thus we encounter "slow" pages in drupal views map pages.Hey with a dataset of 2500+ records and 3 fields having an average number of function calls of over a million plus. Yup it's going slow.For example 2500+ records, 3 fields.Openlayers http://drupal.org/project/openlayers : average of 4.1 million function callsLeaflet http://drupal.org/project/leaflet : average of 1.3 million function callsLeaflet with clientside geoclustering http://drupal.org/project/leaflet_markercluster : average of 1.3 million function calls

IMPRESSED?! Now lets move on to bill charges..

Page 7: Drupal Maps, Clustering

What those numbers don't mean much to you?Current MAP Profile (Openlayers)Executed 90 queries in 240.71 ms. Queries exceeding 5 ms are highlighted.Overall SummaryTotal Incl. Wall Time (microsec): 104,400,257 microsecsTotal Incl. CPU (microsecs): 104,150,000 microsecsTotal Incl. MemUse (bytes): 183,759,392 bytesTotal Incl. PeakMemUse (bytes): 261,900,368 bytesNumber of Function Calls: 5,615,141

(Leaflet) Before Client Side ClusteringExecuted 7831 queries in 1920.3 ms. Queries exceeding 5 ms are highlighted.Total Incl. Wall Time (microsec): 27,077,213 microsecsTotal Incl. CPU (microsecs): 26,560,000 microsecsTotal Incl. MemUse (bytes): 242,216,840 bytesTotal Incl. PeakMemUse (bytes): 242,562,616 bytesNumber of Function Calls: 1,303,140See Screenshot: Screenshot-leaflet-before-geoclustering-clientside.png

Page 8: Drupal Maps, Clustering

I heard from the interwebs that you must cluster.

http://drupal.org/project/leaflet_markercluster

Page 9: Drupal Maps, Clustering

WHAT?! your map page is slow?There's actually drupal-tific explaination for that.(Leaflet) After Client Side Clustering

Executed 7826 queries in 1913.9 ms. Queries exceeding 5 ms are highlighted.

Overall Summary

Total Incl. Wall Time (microsec): 27,534,700 microsecs

Total Incl. CPU (microsecs): 27,030,000 microsecs

Total Incl. MemUse (bytes): 236,385,248 bytes

Total Incl. PeakMemUse (bytes): 236,872,064 bytes

Number of Function Calls: 1,302,893

See Screenshot: Screenshot-leaflet-after-clientside-clustering.png

IMPRESSED?! Now lets move on to bill charges..

Page 10: Drupal Maps, Clustering

OK! I tawked to an consultantShe sez best thing evar is http://drupal.org/project/geocluster

Page 11: Drupal Maps, Clustering

What she clicked how many times?The system admin is reporting too many ajax calls..

Page 12: Drupal Maps, Clustering

We have a plan..

Page 13: Drupal Maps, Clustering

Ok.. its close but we need more time ;)Progressively enhance server-side with client-side clustering

http://drupal.org/node/1914704

See you at the issue queues.http://www.drupal.org/project/geocluster