Monthly Archive for January, 2010
A few of the links I referred to when optimizing MySQL settings on one of the VPS’:
- Behold WordPress, Destroyer of CPUs – Jeff Atwood rants about WordPress’ resource use; Matt Mullenweg responds with a list of suggested MySQL settings.
- WordPress Optimization Bible – Another set of MySQL settings to refer to. It also suggests enabling eAccelerator, which apparently works nicely with W3 Total Cache.
- One MySQL Configuration Tip That Can Dramatically Improve MySQL Performance – Suggests adding max_write_lock_count = 1
I started a new thread in the WordPress forums this morning because we seem to have a unique issue on our hands. Basically, WordPress’ Flash Media Uploader is working for every file type except for MP3. One suggestion I came across was that it might be a mod_security issue; I tried the recommended .htaccess addition, however, to little luck. It seems odd that the only file type that doesn’t work is MP3.
Per last night’s outage, here’s how you suspend a cPanel account from the command line:
/scripts/suspendacct 'username'
If the cause of the usage spike is unknown, however, it won’t necessarily let you diagnose it.
One of the sites we have on Slicehost has MySQL regularly using 50% to 150% of CPU, even though we have page and query caching using memcached. As such, I did a bit of research this morning in regards to optimization steps we can take. Keep in mind that this post was written at various times over several hours.
The first post I read, a rant by Jeff Atwood, lead to suggested MySQL setting configurations from Matt Mullenweg. Based on the conversation there, I looked over a few posts related to MySQL optimization including a conversation on Stack Overflow, explanation on a lightweight configuration on Debian, and a lengthy WordPress optimization tutorial. I also came across a forum thread on WordPress.org that indicates high CPU usage may actually have to do with pretty permalinks.
The steps I took today were to implement a few of Matt’s suggested memory settings. I also ran a Perl MySQL tuner script that suggested I disable InnoDB, which I did. The most proactive steps we can take, I think, are to better configure MySQL to cache queries, and reduce the number of queries made by the theme. The changes I made today, though, anecdotally have dropped the CPU usage by a third to a half.
Munin is a “networked resource monitoring tool that can help analyze resource trends and ‘what just happened to kill our performance?’ problems.” According to Max, you can install children on multiple servers and have them report back to aggregated data on a parent. It’s useful for monitoring site performance because you can configure notifications if the site load goes above a certain number, etc. This would be worth looking through at some point in the near future.
Ryan Sholin did a review of Aardvark, Hunch, and Quora today on IdeaLab. I like his points at the bottom so much that I want to record them in perpetuity:
- From Aardvark, we learn the value of reaching people wherever they are, however they consume and communicate information. Push notification on my iPhone during my commute home? Sure, I consume information that way.
- From Hunch, we learn that if we hand a person a multiple choice quiz, we can record the results and let our algorithm learn something about them to bring to the table when they ask their next question.
- From Quora, we learn the value of frictionless real-time interfaces. Don’t assume your application has to follow patterns generated by its predecessors. You’re building next year’s tools, not last year’s.
All three together? Mmm… delicious.
It’s this week, so I think we’re probably too late this year. We should make sure it’s on our radar next year though.
For future reference, the proper format to the command is:
scp -rv source_dir/* username@domain.com:/full/path/to/target/directory
More on Wikipedia. I had it backwards originally and copied a lot of files to the wrong place.
After Daniel outlined the basic models that will be used in the profile pages for the Connection Engine I drew up some rough wireframes. The first is a basic user profile page for an individual. The aim is to mesh contact information and the challenges the individual is putting into the system.
The second is a profile view for a news organization. Similar to the user view this would bring together contact information as well as support history for the news organization as a whole.
Any feedback, critiques, or ideas are completely welcome.


Recent Comments