Archives

Jun
22

Tuning Large phpBB3 Forums

No GravatarOne of the sites I own and run (RolePlayGateway) has a pretty large forum, with several customizations and features that I’ve added on to the base install of phpBB3. As time went on, we continued upgrading the servers (moving from GoDaddy shared hosting to GoDaddy virtual dedicated servers, then onward to MediaTemple’s (gs), and now we’re on the second tier of MediaTemple’s (dv) hosting) in an effort to keep the hardware moving as fast as possible.

As I’m sure you know, hardware can be pretty expensive! One month, while on MediaTemple’s Grid Server, we racked up $600 in CPU time overage charges. (Ow.) Now that we’ve moved onward to bigger and better packages, we’re shelling out just about $100 per month for a rock-solid server solution that can be upgraded seamlessly in the future. But since upgrades can only go so far without being prohibitively expensive, I thought it was time to take a look at some of our coding approaches.

Enter memcache, the distributed database caching solution originally designed by LiveJournal to help them deal with massive databases and large volumes of users. DavidMJ has written some shiny ACM modules to help phpBB3 make use of some caching systems, and a memcache module was among them.

That didn’t work so well. It gave about a 50% boost to phpBB3’s performance (which was great!), but we were still choking the server, and ended up upgrading to a bigger and more robust package with MediaTemple. So I started looking into more options, and DavidMJ suggested xcache. So I go grab xcache and compile it, then enabled it in php. Bingo! There’s a 500% boost in our page compile times, and across most of our pages we’re now well under 0.1 second compile times. (With the exception of viewtopic.php, which frequently approaches 2 seconds due to bad coding on my part… this will be fixed soon.)

So now that I’ve got the thirst for speed, let’s take a look at how we’re performing. To do this, use the apache benchmarking tool:ab -n 100000 http://www.mydomain.com/my_page
This will test the URL you specify 100,000 times, and give you some feedback about how the page performs. You’ll end up with something looking like this:

Server Software: Apache/2.2.3
Server Hostname: www.mydomain.com
Server Port: 80
Document Path: /my_page
Document Length: 0 bytes
Concurrency Level: 1
Time taken for tests: 15.30100 seconds
Complete requests: 1
Failed requests: 0
Write errors: 0
Non-2xx responses: 1
Total transferred: 715 bytes
HTML transferred: 0 bytes
Requests per second: 0.07 [#/sec] (mean)
Time per request: 15030.100 [ms] (mean)
Time per request: 15030.100 [ms] (mean, across all concurrent requests)
Transfer rate: 0.00 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 15030 15030 0.0 15030 15030
Waiting: 30 30 0.0 30 30
Total: 15030 15030 0.0 15030 15030

Some tweaks to the default xcache config that I recommend:

Set the number of caches to one per processor on your server!
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count = 4

This post will be updated as I explore phpBB3 and more server side options. (I wrote part of this post, then stopped writing… and figure I’d publish it a couple days later anyway!)

May
15

Search Resumes Using Google

No GravatarOooh, someone’s a clever cat. I was thumbing through Google Analytics today (like I do every day), and I was looking at what keywords people were using to find my site. I came across an interesting one:"social media" "search engine optimization" (inurl:resume | intitle:resume)
Either someone is researching competition, or there’s someone looking to hire people for a job they could do themselves. My guess is the former. Whoever you were, good job!

I bet you could do a search like, "lead developer" (inurl:resume | intitle:resume) and get some pretty tasty results. Or, perhaps someone wants to develop a custom search engine that utilizes Google to find highly ranked resumes? There’s some nice and crunchy ideas.

Oct
27

Pimp Status and further updates…

No GravatarNow that I’ve upgraded to Google’s Blogger Beta, I’m tweaking a bunch of controls on my blog. I am continually running into the user-friendly syndrome, where a feature is too user friendly and I can’t get down to the nitty-gritty tech side of the application. While it saves me the five minute trouble of setting up a Wordpress or similiar in-house blog, it constantly reminds me of the merits of having the Wordpress, and consequently influencing me to neglect posting here at all.

I woke up this morning to a completed upgrade from Ubuntu’s Dapper Drake (6.06 LTS) to Edgy Eft (6.10), after encountering some problems resulting from my own stupidity. Upgrading from the servers took a grand total of 16 hours, start to finish. This includes my time working out the kinks from my said stupidity, which I won’t go into further here. Due to the complications, my personal alarm clock (XMMS and an alarm plugin…) failed to wake me at the goal of 5:30 AM, having not rung at all. Sadly, this caused me to miss the chance to see my beautiful Amber, with her leaving for school at 6:30, and me waking at 7. *grumble*

After rebooting the machine to seal the deal, I opened up my shiny new Firefox 2.0 to look at the GWing RSS feed. I clicked the most important thing at the time, a new topic titled A Tale of Two Wreckages: A True Story. I then proceeded to heartily laugh my way through the time I had remaining before I had to leave for work.

Pimp status, hrm?

Feb
13

Interfaces?

No Gravatar

Touch Screen.

Whoa.


Eric Martindale
IT Professional
Admin of GWing.net
http://gwing.net