SlideShare a Scribd company logo
1 of 13
Download to read offline
Drupal Maps
Showing big amount of map points in
views
Typical Drupal Map Views
Recipe
views
leaflet
geocoder
geofield
addressfield
openlayers
etc.. etc..
IT WORKS! The End, EASY!
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!
Your map looks ugly?
Your map page is slow?
There's actually a drupal-tific explaination for
that:
http://drupal.org/node/1828584
It'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 calls
Leaflet http://drupal.org/project/leaflet : average of 1.3 million function calls
Leaflet with clientside geoclustering http://drupal.org/project/leaflet_markercluster : average of 1.3 million function calls


IMPRESSED?! Now lets move on to bill
charges..
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 Summary
Total Incl. Wall Time (microsec): 104,400,257 microsecs
Total Incl. CPU (microsecs): 104,150,000 microsecs
Total Incl. MemUse (bytes): 183,759,392 bytes
Total Incl. PeakMemUse (bytes): 261,900,368 bytes
Number of Function Calls: 5,615,141


(Leaflet) Before Client Side Clustering
Executed 7831 queries in 1920.3 ms. Queries exceeding 5 ms are highlighted.
Total Incl. Wall Time (microsec): 27,077,213 microsecs
Total Incl. CPU (microsecs): 26,560,000 microsecs
Total Incl. MemUse (bytes): 242,216,840 bytes
Total Incl. PeakMemUse (bytes): 242,562,616 bytes
Number of Function Calls: 1,303,140
See Screenshot: Screenshot-leaflet-before-geoclustering-clientside.png
I heard from the interwebs
that you must cluster.




http://drupal.org/project/leaflet_markercluster
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..
OK! I tawked to an
consultant
She sez best thing evar is http://drupal.
org/project/geocluster
What she clicked how
many times?
The system admin is reporting too many ajax
calls..
We have a plan..
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

More Related Content

Similar to Drupal Maps, Clustering.

Capacity Management from Flickr
Capacity Management from FlickrCapacity Management from Flickr
Capacity Management from Flickrxlight
 
MapReduce presentation
MapReduce presentationMapReduce presentation
MapReduce presentationVu Thi Trang
 
Introduction To Map Reduce
Introduction To Map ReduceIntroduction To Map Reduce
Introduction To Map Reducerantav
 
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...DiscoveredByte
 
Tek12: Graphing real-time performance with Graphite
Tek12: Graphing real-time performance with GraphiteTek12: Graphing real-time performance with Graphite
Tek12: Graphing real-time performance with Graphitenanderoo
 
User-space Network Processing
User-space Network ProcessingUser-space Network Processing
User-space Network ProcessingRyousei Takano
 
Enterprise application performance - Understanding & Learnings
Enterprise application performance - Understanding & LearningsEnterprise application performance - Understanding & Learnings
Enterprise application performance - Understanding & LearningsDhaval Shah
 
Map Reduce along with Amazon EMR
Map Reduce along with Amazon EMRMap Reduce along with Amazon EMR
Map Reduce along with Amazon EMRABC Talks
 
Cloud Computing ...changes everything
Cloud Computing ...changes everythingCloud Computing ...changes everything
Cloud Computing ...changes everythingLew Tucker
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics HeroTechWell
 
Naked Performance With Clojure
Naked Performance With ClojureNaked Performance With Clojure
Naked Performance With ClojureMetosin Oy
 
Faceting optimizations for Solr
Faceting optimizations for SolrFaceting optimizations for Solr
Faceting optimizations for SolrToke Eskildsen
 
Unified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache SparkUnified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache SparkC4Media
 
HadoopDB a major step towards a dead end
HadoopDB a major step towards a dead endHadoopDB a major step towards a dead end
HadoopDB a major step towards a dead endthkoch
 

Similar to Drupal Maps, Clustering. (20)

Capacity Management from Flickr
Capacity Management from FlickrCapacity Management from Flickr
Capacity Management from Flickr
 
Handout3o
Handout3oHandout3o
Handout3o
 
MapReduce presentation
MapReduce presentationMapReduce presentation
MapReduce presentation
 
Introduction To Map Reduce
Introduction To Map ReduceIntroduction To Map Reduce
Introduction To Map Reduce
 
Yahoo's Experience Running Pig on Tez at Scale
Yahoo's Experience Running Pig on Tez at ScaleYahoo's Experience Running Pig on Tez at Scale
Yahoo's Experience Running Pig on Tez at Scale
 
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
 
Tek12: Graphing real-time performance with Graphite
Tek12: Graphing real-time performance with GraphiteTek12: Graphing real-time performance with Graphite
Tek12: Graphing real-time performance with Graphite
 
User-space Network Processing
User-space Network ProcessingUser-space Network Processing
User-space Network Processing
 
Enterprise application performance - Understanding & Learnings
Enterprise application performance - Understanding & LearningsEnterprise application performance - Understanding & Learnings
Enterprise application performance - Understanding & Learnings
 
Map Reduce along with Amazon EMR
Map Reduce along with Amazon EMRMap Reduce along with Amazon EMR
Map Reduce along with Amazon EMR
 
Cloud Computing ...changes everything
Cloud Computing ...changes everythingCloud Computing ...changes everything
Cloud Computing ...changes everything
 
Von neumann workers
Von neumann workersVon neumann workers
Von neumann workers
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Naked Performance With Clojure
Naked Performance With ClojureNaked Performance With Clojure
Naked Performance With Clojure
 
Faceting optimizations for Solr
Faceting optimizations for SolrFaceting optimizations for Solr
Faceting optimizations for Solr
 
Map Reduce Online
Map Reduce OnlineMap Reduce Online
Map Reduce Online
 
Unified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache SparkUnified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache Spark
 
Malab tutorial
Malab tutorialMalab tutorial
Malab tutorial
 
HadoopDB a major step towards a dead end
HadoopDB a major step towards a dead endHadoopDB a major step towards a dead end
HadoopDB a major step towards a dead end
 
Hadoop Interview Questions and Answers
Hadoop Interview Questions and AnswersHadoop Interview Questions and Answers
Hadoop Interview Questions and Answers
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Drupal Maps, Clustering.

  • 1. Drupal Maps Showing big amount of map points in views
  • 2. Typical Drupal Map Views Recipe views leaflet geocoder geofield addressfield openlayers etc.. etc..
  • 3. IT WORKS! The End, EASY!
  • 4. 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!
  • 6. Your map page is slow? There's actually a drupal-tific explaination for that: http://drupal.org/node/1828584 It'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 calls Leaflet http://drupal.org/project/leaflet : average of 1.3 million function calls Leaflet with clientside geoclustering http://drupal.org/project/leaflet_markercluster : average of 1.3 million function calls IMPRESSED?! Now lets move on to bill charges..
  • 7. 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 Summary Total Incl. Wall Time (microsec): 104,400,257 microsecs Total Incl. CPU (microsecs): 104,150,000 microsecs Total Incl. MemUse (bytes): 183,759,392 bytes Total Incl. PeakMemUse (bytes): 261,900,368 bytes Number of Function Calls: 5,615,141 (Leaflet) Before Client Side Clustering Executed 7831 queries in 1920.3 ms. Queries exceeding 5 ms are highlighted. Total Incl. Wall Time (microsec): 27,077,213 microsecs Total Incl. CPU (microsecs): 26,560,000 microsecs Total Incl. MemUse (bytes): 242,216,840 bytes Total Incl. PeakMemUse (bytes): 242,562,616 bytes Number of Function Calls: 1,303,140 See Screenshot: Screenshot-leaflet-before-geoclustering-clientside.png
  • 8. I heard from the interwebs that you must cluster. http://drupal.org/project/leaflet_markercluster
  • 9. 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..
  • 10. OK! I tawked to an consultant She sez best thing evar is http://drupal. org/project/geocluster
  • 11. What she clicked how many times? The system admin is reporting too many ajax calls..
  • 12. We have a plan..
  • 13. 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