As has already been mentioned a few times, The company I work for runs quite a few vBulletin forums. As such, I spend a decent amount of time over on the vbulletin.com forums, particularly in the vBulletin Hosting Options and Server Configuration sections. Lately, however, I've noticed a disturbing trend that is really starting to bug me, especially when I see it from people who should probably know better. That trend is to spend $500+ per month on a server and then saddle it with an IDE or SATA drive (or perhaps 2 in a RAID 1 mirror if they're going "all out") because they offer "more than enough space".
When, exactly, did it become acceptable to put a drive made for light, single-user use for a few hours per day into a situation where it would be hammered by dozens, if not hundreds, of simultaneous connections from all around the planet 24/7/365? It's like buying a Ferrari minus the engine and then tossing the inline-4 from a Hyundai Accent inside.
Well, my week-long vacation back to Illinois has ended. All in all, it was a pretty good time. We got rained on the first day or so but after that the weather started to look up (although some snow would have been nice). I got to get out of my normal routine and spend some time with relatives (specifically, my grandmother and two uncles) that I haven't seen in a few years.
While we were there, Dot (my girlfriend) and I spent two days in Chicago and managed to see the Shedd Aquarium, the Field Museum (including "Sue" the largest, most complete, and best preserved T-Rex found thus far), and the Adler Planetarium. We also took an evening look from the John Hancock Observatory and saw the Blue Man Group perform. We had tickets to the Museum of Science & Industry but ran out of time before we could use them (no problem though, we had the "City Pass" package and even with not using those tickets, we still came out ahead of buying everything separately). We capped off the second evening with a nice dinner at Cafe Spiaggia. While the portions were a bit small (for the prices), the food was excellent and I have NEVER had service as good as what I received while we were there. I would recommend it to anyone who is in the area. I guess that just goes to show that EVERYONE needs a Zagat Survey guide if they're in an area that they're not familiar with.
P.S. - Oh, and I changed the style of the site again. I found a new theme for K2 called "SkyBlack" and then tweaked it a bit to fit in 1024x768 instead of 800x600. I've still got to find a better header (because that "skyblue" text is annoying) but other than that, I'm pretty happy. Expect more updates soon.
Anyone who runs a dedicated server for web hosting will tell you that a great way to decrease the load on your server and decrease the page load time is to use a PHP Cache such as APC or eAccelerator. While the largest noticeable improvements are for those site that receive a lot of traffic or are under heavy load, any site, large or small can see benefit from a PHP cache. That said, in addition to the two caches mentioned above, a new player has recently entered the market: XCache.
I first started using APC about 2 years ago when the load on one of my servers was high enough that it was affecting load times and was costing me user traffic. I chose APC over eAccelerator because it was a bit easier to install (at the time) and because APC had a reputation for being a bit faster than eAccelerator. Shortly there after I noticed my httpd processes segfaulting and a bit of research also showed that APC had a bit of a record for instability under heavy load. With that in mind, I took the slight performance hit and installed eAccelerator (which is still way faster than using nothing at all).
Up until today, I was still using eAccelerator on all of my servers. However, a post on the vBulletin.com forums prompted me to give XCache, the new PHP accelerator from the maker of lighttpd, a try. I've got to say, while I've only been using it for about 6 hours at this point, it blows eAccelerator out of the water, especially once you enable multiple caches (which benefits SMP systems).
About 6 years ago I decided to purchase a decent pair of sunglasses from a local Sunglass Hut. I spent an hour or so checking out what was available and settled on a nice set of Ray Ban glasses (which looked nice and also happened to be on sale). Those glasses finally met their match the other day when they fell between the driver's seat and center console in my car. This wouldn't be an issue for most people, but my seat automatically moves back to let the driver in or out, so the lenses were a bit scuffed up by the time I determined that that is where they were.
Knowing that I wouldn't be able to get replacement lenses before I went out of town for the holiday, I decided that I should probably just go out shopping a but a new set of glasses. I figured that if I really liked the new set then I'd have the others repaired and would keep them as spares. If I didn't like them, they'd go back for a refund after I got new lenses. I really didn't expect much of a problem. I guess I was wrong...
Most of the people reading this blog are familiar with the LAMP software bundle (Linux, Apache httpd, MySQL, and one of PHP/Perl/Python). The LAMP stack on a single server is common-place on the internet today because the components are all free and work well together to provide a stable, dynamic web platform (although, interestingly enough, they were not designed to do so). Who says that it's the best way to do things though? When working with complex applications such as vBulletin, there are definite benefits to keeping things separate.
For the past 6 months or so I've been consolidating my servers (both in the office and at remote data centers) using a virtualization package called OpenVZ (the open-source branch of SWSoft's Virtuozzo). Unlike virtualization packages such as VMWare (a system emulator) or Xen (a paravirtualization system), OpenVZ does not allow you to run multiple, different operating systems. OpenVZ will allow you to run Linux on Linux and nothing more. Moreover, it is heavily biased towards RPM-based distributions, so don't plan on getting wild. That said, if you can get past those limitations, OpenVZ might just help you get more out of your existing server because unlike the alternatives, OpenVZ's operating system-level virtualization technique has almost zero performance penalty.
Ok, for those of you that build your own systems, this really doesn't apply. However, for those of you that have pre-built OEM systems lying around (like I have at work), listen up because this advice is going to save you hours of wasted effort... DON'T LOSE YOUR WINDOWS OEM INSTALL CD AND DRIVER DISK!
Earlier today I spent almost 4 hours reinstalling a Gateway E-2100 system. The entire process was one giant comedy of errors. I started out by installing Windows XP Home because that is what all of the Gateway systems we have are running. As it turns out, that assumption was not a good one to make. It seems that this particular Gateway box is the ONLY Windows XP Professional system we have (aside from my notebook). In any case, there went 30 minutes...
Once learning that the only Windows XP Professional CD I had was for my Dell notebook (Latitude D820), I figured, "how badly could it go?". That, again, was a bad assumption to make. After spending 40 minutes installing Windows (again) I was greeted with a first boot at 640x480 in 4-bit color. Now, there probably aren't many people who remember 4-bit color, but yes, 20 years ago, 16 colors was all you got. Unfortunately, Windows XP was never meant to be viewed at this level and that made fixing the issue all that more difficult.
If you've read my "About" page then you'd know that in addition to working full-time, I'm also a graduate student at Penn State studying Software Engineering. The class I'm currently taking is on Software Project Management and is taught by Dr. Phillip A. Laplante. As a part of this class (which I'm already paying too much for), I was required to buy one of the books the professor wrote. The title of that book is "Antipatterns - Identification, Refactoring, and Management".
I assumed that like most text books that this one would be boring and that the professor was only doing it to make a few extra bucks. I couldn't have possibly been more wrong. As it turns out, he only gets about $0.80 for each book sold (there are only about 20 people in the class), and this is one of the funniest books I've read in a long time.
So, I was flipping through MaximumPC while I was eating lunch and I saw that they had mentioned the K2 theme engine as a must-have. I decided to pick it up and install it. For now, it looks almost identical to the default theme I was using but I'll customize it a bit down the road.Â I'll say one thing for sure though, it does load faster than the default skin did and it is a lot easier to use.
Some notable improvements include the "type and wait" livesearch box (give it a try, just type something and then wait a couple seconds) and live comments with AJAX (no page refreshes).
One of the people I work with, Dave (yes, the same Dave who got the tattoo in Las Vegas), recently made a post on his site about all of the cheap stuff he's bought recently with mail-in rebates. He wrote that out of the 5 rebates he's been waiting for, he's received one. Well, Dave, you're not alone.
In general, I try to avoid buying items that come with mail-in rebates. They really only comprise a small portion of my purchases, maybe 10% at most. The reason is that the odds of someone actually receiving a mail-in rebate on a tech product are pretty low these days. For example, in the past year, I have ordered 2GB of OCZ DDR memory ($40 MIR), a PNY GeForce 6600GT PCI-E video card ($20 MIR), two 1GB SanDisk USB Sticks ($10 MIR each), and a Cuisinart Coffee Maker w/ Built-In Grinder ($20 MIR). Out of those rebates, the most recent of which was filed about 8 weeks ago, I have received exactly $0.00. That's $100 that I'm owed that I will, in all likelihood, never receive.
One of the most common technical recommendations given on the vbulletin.com forums is to upgrade your software versions to the newest available. I've already covered how to upgrade Apache's httpd and PHP so now I'm going to explain how to upgrade your RHEL/CentOS 4 system to use MySQL 5.0.27. This is not a terribly difficult process but it is VERY time consuming. Expect to spend about 10 minutes prepping and about an hour compiling (even on a high-end box).
To start, you'll need three things. First, you're going to need 'root' access to your server. If you don't have it, even if you can build the RPMs, you won't be able to install them. Second, on most machines, you'll need to install a huge list of dependencies. Finally, you'll need the MySQL src.rpm from FC7's development tree.