Bad Header! Bad. No Biscuit for You!

As a follow-up to my post on my internal server error (500)
that I keep getting when running MovableType’s rebuild of
Categories – I’ve mentioned before how it seems my web host,
pair.com, throttles how much CPU resources any one process can
use. Pair has a page that lists which processes have been
automatically “modified or terminated”. On that list are the
scripts that, among other things, run comments and rebuild
Categories.

However, feedback from pair states that although they are
throttling the script, they aren’t terminating it. In
investigating the problem, the indicate the following:

I was able to find the following error showing up through
Apache while trying to run the rebuild :

Bad header=Out of memory!

I checked the logs for the program on the server that
enforces the resource usage policies to see if this was
ending the script, however it was not. There are entries for
it running the “nice” command on the script which simply
lower the priority of it to the CPU. This would not impact
the actual execution of the script though.

While running the rebuild I saw that the process handling
this quickly grows to over 45MB of RAM usage in a matter of
seconds, then terminates. This appears to be a problem in the
configuration of Movable Type itself. Unfortunately, we will
not be able to debug this for you. You should contact Movable
Type support in regards to the issue. They should be able to
best advise what changes to the MT installation are needed to
correct this.

Possible solutions? 1. I can switch from static to dynamic
pages (i.e., switch from HTML pages stored on the server to
elements retrieved from the MySQL database and temporarily
assembled in memory when a “page” is requested). 2. I can
modify the category template to be more efficient. 3. I can
switch to another CMS that is more efficient in rebuilding its
archives. 4. I can switch to another host.

The downside of doing number 1 is that if the database
becomes corrupted or lost, all content is likewise corrupted or
lost. On a static site, loss of the database doesn’t mean
anything to the pages that already been created and stored as
regular HTML files. Those pages will always exist and therefore
are independent of the database server status.

In addition, once the static pages are built, it is usually
more efficient for the server to simply transfer the markup to
your browser for display than it is to make multiple queries to
a database, build the page, and then send the page to your
browser.

The downside of number 2 is that I’m not sure how optimized
it has to be to work. And even if optimized for
now, what happens when I hit 2,000 posts? Or 3,000. etc?

For option 3, I’ve taken a quick look at what else is out
there as far as CMSs. Although I was surprised at the number of
systems, there are only a few that output to static pages.
Still, this may be possible.

Solution 4 is also possible. There are other hosts,
including hosting my site myself on a PC at home. I’ve been
looking at operating systems to run the site and have tried
FreeBSD and various versions of Linux. Still, it would be a
large investment in time to get things running (and keep it
running).

I haven’t decided what I’m going to do yet. I will, of
course, contact MT and give them the information that pair
provided. But for now, I may try experimenting with using
dynamic pages for just the categories while leaving everything
else static.

Programming Note: Monday is a state holiday so probably no post. See everyone
back here on Tuesday!

Have a Great Weekend, Everyone –
Aloha!

Advertisements

Comments are closed.