I'm looking into performance issues on a site I'm maintaining... The pages that are worst effected are essentially node view pages, but who's layout is constructed from a series of block views (many of which are different displays of one or two views), all showing the

Running an XHProf report I see that about 40% of the page load time occurs within view::fix_missing_relationships, which is run 22 times.

I've added the following dpm to debug what's happening in view::fix_missing_relationships():

  function fix_missing_relationships() {
    if (isset($this->relationships_fixed)) {
      return;
    }
    //Debug the current view name and display name: 
    dpm($this->current_display, $this->name);
    ...

I get this:

  • locations => spritesheets
  • sitemap => block_sitemap_ebusiness
  • services_and_expertise => block_services_menu
  • services_and_expertise => block_expertise_menu
  • services_and_expertise => block_why_ireland_menu
  • persons => block_person_related_person_in_expertise
  • persons => block_person_related_person_in_services
  • persons => block_person_talkto
  • services_and_expertise => block_related_content
  • documents => block_experience_download
  • services_and_expertise => block_testimonials
  • sitemap => block_sitemap_ebusiness

I notice that many of these are displays of a couple of views, which I would have thought would only need to be processed by fix_missing_relationships once.

I also noticed that if I drill down to where the time is going, around 600 miliseconds is being spent in views_cache_set, so I did wonder if this is a caching failure.

I'm getting similar results on both an Acquia cloud tuned server and an OSX development box.

nb. turning views caching on/off for these views seems to make no real difference.

Is this simply the case that having that many embedded views on the page will always produce similar results or is something going wrong here?

Thanks,
Paul.

CommentFileSizeAuthor
XHProf_view-7.jpg1.74 MBPQ
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Chris Charlton’s picture