[wp-trac] [WordPress Trac] #32068: Excessive overhead in widgets.php on large site

WordPress Trac noreply at wordpress.org
Wed Apr 22 20:27:20 UTC 2015


#32068: Excessive overhead in widgets.php on large site
----------------------------+-----------------------------
 Reporter:  ronnieg         |      Owner:
     Type:  defect (bug)    |     Status:  new
 Priority:  normal          |  Milestone:  Awaiting Review
Component:  Administration  |    Version:  4.1.2
 Severity:  normal          |   Keywords:
  Focuses:                  |
----------------------------+-----------------------------
 My very large (WP 4.1.2 with all current theme and plugins) and complex
 real estate production website now has over 6,100 pages. Somewhere between
 page 5890 and 6100, the widgets.php admin page started to fail to
 completely load, and the server timed it out at 30 seconds. The "Available
 Widgets" section is there, but none of the active widgets are displayed.
 The front end of the site works fine, and all previously setup widgets are
 where they should be and with correct content.

 My hosting service tech reports that the failure occurred as follows: "The
 error log shows maximum execution time exceeded (30s) in wp-
 includes/post.php function get_page_children. Specifically: PHP Fatal
 error:  Maximum execution time of 30 seconds exceeded in .../public_html
 /wp-includes/post.php on line 4286".

 Disabling all plugins and going to 2015 theme doesn't resolve the problem.
 My development site has 5890 pages, exactly same theme and active plugins
 as the production site, and it barely loads correctly, taking right at 30
 seconds, 90% of the time, but fails 10% of the time with same result as
 the production site. This page count threshold for failure or success
 seems to indicate an overhead / performance issue with widgets.php and/or
 the functions that it executes. I added following to to wp-options.php,
 per suggestions in support forums for similar performance issues, and that
 didn't help:

 define('WP_MEMORY_LIMIT', '128M');
 define('CONCATENATE_SCRIPTS', false);

 My hosting provider has graciously (and temporarily) increased the page
 load timeout limit. However, I do not understand why the function causing
 this problem is even needed by the widgets admin screen, or why it would
 need to (apparently) attempt to access every page / post and their
 children in the database to do its job.

 If someone is eventually going to work on this issue, I can provide access
 to and/or test any code changes on my dev site.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/32068>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list