Download & Extend

Performance issue in biblio_user()

Project:Bibliography Module
Version:6.x-1.10
Component:Code
Category:bug report
Priority:critical
Assigned:Unassigned
Status:active

Issue Summary

Hello,

besides your great biblio module I also have module installed that uses user_save() to frequently update one value at the user. Each call to user_save() results in biblio_user() into a call to menu_rebuild(). menu_rebuild() is an expensive operation and so the whole web application slows down dramatically.

I have two question:

1) Why is menu_rebuild() called? Optional I can comment out the line since I do not use all features of Biblio.
2) What other option do I have here?

Thanks and regards,

Joe

Comments

#1

Hi Joe,

The only real repercussion from commenting out that call to menu_rebuild would be that the My Publications tab on the user profile page may not appear or disappear when you expect it to. To be honest, I'm not sure that it's even required any more. It was an artifact from the previous version, but there have been some other changes made to address this issue. I'll do some testing and if it's no longer serving any real function I'll remove it.

In the mean time, if you want to comment it out I don't think it will have any serious impact.

Ron.

#2

Hi Ron,

thanks for the quick response. Since I do not use "My Publications" I will comment out the call to menu_rebuild().

Cheers,

Joe

#3

Version:6.x-1.2» 6.x-1.10

I've had major problems with performance relating to Biblio bizarrely interfering with Shibboleth Authentication - which is a federated single sign on service used widely in Higher Ed - effectively replacing the converntional Drupal sign in system.

I've been chasing my tail for months, as Shib was taking 60+ seconds to achieve sign in, but I've nailed it down to OG User Roles (6.x-1.5), and Biblio. By disabling line 498 in release 6.10 of Biblio, I've reduced sign in time to <10 seconds. (Tweaking and upgrading OGUR reduces total sign in time to <3 seconds).

Again, like @bjcool, I do not heavily rely on the 'My publications' feature (I use Views to manage all Publications), but have left the tab available to user accounts. I'm happy to locally modify the module after every release, but worry that the menu_rebuild is an unecessary performance overhead for the rest of the site, so maybe it's a wider issue for Biblio's impact on any Drupal site. Other than letting it rest, I think there are 2 options (either or both):

  1. Have a 'Refresh list' button on 'My publications'
  2. Create another configuration/adminstration option to disable the menu.rebuild(), with tasking devolved to cron?
nobody click here