Fabians Performance Hacks

Events happening in the community are now at Drupal community events on www.drupal.org.
fabianx's picture
Start: 
2012-03-22 11:45 - 13:00 America/Denver
Organizers: 
Event type: 
DrupalCon

Hey High Performance on DrupalCon,

I'd like to meet you all and invite you to my BOF:

"Fabians Performance Hacks"

It is during lunch break on thursday in room 502 and I hope we all have fun there.

If you want to speak to me before, you might find me at the Trellon booth.

--

This session is about new and unpublished performance patches and hacks to Views, Context, Blockcache_alter and OpenLayers.

Details:

I have a series of unpublished performance related patches that have not yet seen the light of the day, yet or have just been sitting silently in my sandbox, but might be really interesting to people.

All of those patches / hacks will be published and announced on during this session:

  • OpenLayers_Quick_Layers: Have you tried using geofield with openlayers_views and a map with 5000 nodes? No, I have and the result is: 280 MB, 2 min load time and all nodes are loaded into memory. But slow is not the entity_load, but the field_attach. We take a quick look via xhprof and see how fast openlayers_quick_layers can make views with a patch of 4 lines and a custom module.

  • Blockcache_alter Context Patches: Blockcache_alter is a great module and can really make the difference between 12 secs of load time and 0.3s. However it does not work at all with context. I have patches for both Drupal 6 and 7 to fix that and make blockcache_alter work with context. Those patches will be discussed and released.

  • Context Admin Performance: Make the context admin page load muuuuuuuch faster. (Patch already in the queue, but discussing it shortly.)

  • Context Hacks - Not performance, but nicer usability ;-)

  • Field_Collection - big collection performance patch

  • Views_Optimized: Drupal 6 - If a query involves many relationships and a TEXT or BLOB column plus sorting it will be slow as mysql needs to create temporary tables to execute the query. Views Optimized does change that by splitting the query into a select and a filter part and you just need to implement one hook to do so. One hook and your D6 queries are lightning fast.

In the end I would like to discuss debugging performance with XHProf and what others are up to in the field. Also what we could make out of these patches and if the views approach of entity_load is really working so good for all circumstances or if we should optionally go back to the old approach in contrib.

We'll have much fun and I hope you enjoy a nice ride with me into making drupal faster, faster, faster.

Thanks,

Fabian

Comments

Blockcache_alter vs ESI

mikeytown2's picture

We got rid of the blockcache and went for ESI. I don't use the context module but the code for handling context should work. Let me know if it doesn't.
http://drupal.org/project/esi

@fabianx do you have the

bennos's picture

@fabianx

do you have the patch anywhere posted? Or can you make it available.
I have a bigger project in the pipeline with geofield.
thx
bennos

Hey @fabianx, any news on the

davidseth's picture

Hey @fabianx, any news on the patches etc? Some very keen Australians waiting to hear more!!

Patches released / Module updated in sandbox

fabianx's picture

Hi all,

The context performance patches have all been released:

field_collection patch:

openlayers quick query:

views_optimized (long released, but as remainder):

( And the UI improvements: http://drupal.org/project/context_hacks)

Please enjoy!