[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