I have a WordPress install with a very large amount of pages (a few hundred thousand), and over time it has gotten to the point where editing a page takes an extremely long amount of time. It would take several minutes just to open the edit screen, but I found out that it was wp_pages used in generating the parent page selection dropdown that caused that, so I removed it via a hook in my theme’s functions.php and so now the edit screen loads just fine.
Now the problem I have is that when updating/editing a page, it never seems to complete whatever it is doing. The page keeps on loading after hitting update, but it does successfully edit the page within a couple of seconds (I can verify that on the frontend), but in the admin it just keeps going until I just manually refresh the page. Any one know what wordpress function might be causing this sort of timeout on saving a page?
I have wordpress 3.5.1 and I’ve tried to disable any running plugins. Any ideas?
Just to add, eventually I get a 500 server error after letting it run for about 30 minutes. Here is the server’s log:
[Sat Jan 26 13:11:12 2013] [warn] [client 76.189.45.243] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server, referer: http://www.server.com/wp-admin/post.php?post=18173&action=edit
[Sat Jan 26 13:11:12 2013] [error] [client 76.189.45.243] Premature end of script headers: post.php, referer: http://www.server.com/wp-admin/post.php?post=18173&action=edit
[Sat Jan 26 13:11:12 2013] [warn] [client 76.189.45.243] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server, referer: http://www.server.com/wp-admin/post.php?post=18173&action=edit
[Sat Jan 26 13:11:12 2013] [error] [client 76.189.45.243] Premature end of script headers: admin-ajax.php, referer: http://www.server.com/wp-admin/post.php?post=18173&action=edit
Have you tried optimizing and repairing the table in your MySQL database you are running WordPress on?
Your can manually do this with phpmyadmin:
http://support.hostgator.com/articles/specialized-help/technical/how-to-optimize-a-mysql-database-using-phpmyadmin
Or you can install a WordPress plugin such as WP Database Optimizer and set a regular optimization schedule:
http://wordpress.org/extend/plugins/wp-database-optimizer/