Tag Archive: review

Iomega StorCenter PX4-300d NAS Review: iSCSI Monster

I wanted to love this monster from the moment I read the spec sheets:

Iomega StorCenter PX4-300d NAS

Iomega StorCenter PX4-300d NAS

  • Network attached storage device with 4 or 6 hot-swappable drive bays
  • Available empty (so you can bring your own drives, including SSDs)
  • iSCSI server with 2 network ports, jumbo frame support, VLANs
  • Official VMware ESX/ESXi, Hyper-V, Windows DFS compatibility
  • RAID 0/1/5/10
  • Cloud support – automatically copy files to Amazon S3, Mozy, or other Iomegas over the Internet
  • External USB3 drive support (for leftover USB hard drives)
  • Insane number of home media support options including BitTorrent downloading, Time Machine backups for Apples, Bluetooth, automatic uploads to Facebook/YouTube/Flickr, recording server for Axis/Panasonic/D-Link webcams
  • Quiet (31dBa max) and low power (based on an Intel Atom CPU and 2GB of RAM)

The full feature list is ridiculous – it’s absolutely everything I needed for my VMware lab and my backups.  At around $700 from Amazon for the diskless version, I couldn’t resist.  I wouldn’t recommend buying the versions that come populated with hard drives – if you ever need to replace the drives, you’re in for a rough time, and oddly, the bring-your-own-disk version doesn’t suffer from that issue.

Choosing Drives and RAIDs for the PX4 and PX6

As of this writing, the list of officially supported hard drives is pretty short:

Storage pools in the PX4/PX6 have to all be the same size and speed, and I didn’t really need performance, so I chose to go with four of the Hitachi 3TB drives.  With those drives, RAID 5 would give me 9TB of usable storage, and the possibly-faster RAID 10 would give me 6TB.  I wouldn’t recommend the 2TB drives for a reason that’ll be clear shortly.

PX6 users have 6 drives to choose from, so in that environment, it might make sense to go with four magnetic hard drives and two solid state drives.  This would allow two tiers of storage: a blazin’ fast SSD mirror, and a bigger/slower RAID 5 pool.  With VMware ESX/ESXi’s Storage vMotion, we can move virtual machines back and forth between the two RAID pools without taking the VM down for a reboot.  It’s a fairly inexpensive way to get tiered storage, but with just 128GB in the fast pool, I’m not sure how useful this would be in practice.

Pluggin’ in the N: Network Attached Storage

iomega PX4-300d Control Panel

iomega PX4-300d Control Panel

The PX4-300d comes with the basics: power brick, one Ethernet cable, and the management tools CD.  After adding in drives and plugging it in electricity and Ethernet, the control panel displays the IP address it fetched from DHCP.  Fire up a web browser, go to that address, and you’re going to be impressed with the user interface.  You can even test drive the Iomega StorCenter control panel online.  (No, that’s not my Iomega, and no, you can’t delete data.  I tried.)

For the first minute or two, Iomega impressed the heck out of me.  The device could fetch its own firmware upgrades over the Internet, and yes, it was up-to-date.  I went into Drive Management, and sure enough, it offered a really easy GUI to configure RAID levels.  I picked RAID 10 and clicked Apply, but Iomega warned me that I hadn’t chosen any drives yet.  I’d missed the subtle little visual checkboxes inside each hard drive in the GUI, so…

I need to stop here and tell you a little about myself: I like to break things.

I didn’t say I like to take things apart and put them back together – oh no.  I just like to find new ways to break ‘em.  I take an evil satisfaction out of knowing somebody, somewhere didn’t test their code.

It's web scale!

RAID 10 with 3 Drives?

So I did what I do – I checked three boxes, chose RAID 10, and clicked Apply.

As far as I know, there’s not a way to perform RAID 10 with 3 hard drives (it requires an even number of drives) but the PX4 happily started initializing the array.  I sat there absolutely dumbfounded – this wasn’t a small bug, but a giant, ugly, monstrous bug.  I had no idea what the PX4 might be doing to the disks behind the scenes or whether I’d have any redundancy whatsoever.

I wouldn’t be so freaked out about this if Iomega wasn’t owned by EMC, one of the biggest, most reliable companies in the storage industry.  I had instant flashbacks to the click of death, the nasty sound Zip drives made before they crashed, resulting in a class action lawsuit against Iomega.  Was Iomega back to its old tricks of cutting costs at our peril, or were they up to EMC’s quality standards?  I took a deep breath, pretended I never saw it, and deleted the array.  I set up a four-drive RAID 10 array, decided to let one bug slide, and pressed on.

While the array is initialized, the Iomega’s LCD display and banners across the top of the web UI both warn the user that performance is degraded – very nice touch.  As the array is initialized, you can continue to use the storage array, and even write data to it – again, nice touch.  However, the initialization process takes hours – I left mine running overnight – which means I wouldn’t recommend the 2TB drives.  A PX4 with 2TB drives is $1,165, and with the 3TB drives it’s $1,405 – just $240 more for 50% more storage.  Yes, you could upgrade the drives later, but it’s going to take a loooong time to swap out each drive one by one and let the array rebuild.

Some Server Changes Require Reboots

The only way to win is not to play.

Restart Required

As the array initialized, I started wandering through the web control panel setting things up.  I changed the name to LittleBlackBox, and I was taken aback when the PX4 asked to reboot itself.  Really?  Just for a name change?  Okay, well, alright, nobody was on the array yet anyway.

Next up – configure remote access.  The PX4 will connect to a dynamic domain name service so you can use a simple DNS name to access your data from anywhere.  Sounds good, so I set it up and – you guessed it – reboot required.

Next up – configure iSCSI and jumbo frames.  This one at least didn’t require a complete NAS reboot, but it did warn that “This may take a few minutes to complete.  Anyone currently accessing this device will be disconnected.  Do you want to continue?”

The Problem with Rebooting an iSCSI NAS

NAS reboots aren’t a problem for some home users.  If iTunes stops working for a few moments, or my pictures stop uploading to the cloud, life goes on.

In a business or virtualization lab environment, it’s a massive problem.  VMware will be storing the virtual hard drives for several running machines on it.  In order to reconfigure many settings on the PX4/PX6, I have to:

  1. Shut down all of my virtual servers
  2. Shut down VMware
  3. Restart the Iomega and wait for it to come up
  4. Start up VMware
  5. Start up my virtual servers

This is a total showstopper in a corporate lab environment where multiple people might be playing with the device.  I simply wouldn’t be able to count on junior sysadmins not changing settings on the Iomega, triggering a reboot, and losing all of my virtual servers.  I would have to tightly control security settings on the NAS, but the only security option is a checkbox for administrative privileges: either you’re in, or you’re not.

That NAS is a Monster, M-M-M-Monster

Or was that philanderer?

Famous Philosopher

Philosopher L. Gaga once said in a poem entitled “Monster”:

I’ve never seen one like that before
Don’t look at me like that
You amaze me

While she was referring to crazy yet well-endowed gentlemen, I’m sure she would agree that the PX4-300d is just such a monster.  Its feature list is the size of a baby’s arm, but sometimes it’s got the business logic of a weiner.

The good news is that it’s got killer qualities for a virtualization lab – or perhaps even a small business’ virtualization needs.  The bad news is that it doesn’t have the stability or testing to back it up.

I was heartbroken.  I’d really wanted to recommend this storage device to small businesses for their staff to learn virtualization, storage vMotion, and perhaps even as a backup target.  With the current version of firmware, though, I just couldn’t do it.  With that in mind, I gave up on testing the network card failovers (which do work at first glance), multipathing (which doesn’t – more on that later), the speed differences with jumbo frames, and anything reliability-related.  For now, it’s just a good device for geeks to use in their labs and homes, so I’ll focus the rest of the review on that.

Device Features: Shares, Apps, Time Machine, BitTorrent, More

Onboard storage is set up in a hierarchy:

  • Drives are grouped together in pools (like 2 drives in a RAID 1 pair or 4 drives in a RAID 5).  Pools are a fixed size.
  • Pools are carved up into multiple volumes.  Volumes are a fixed size.
  • Volumes are carved up into multiple shares.  Shares are thin provisioned.
  • Applications are configured at the share level.

So in my PX4-300d, I have:

  • Storage pool – 4 drives in a RAID 10 for 6TB of usable space
  • “Media” volume – a 1TB volume that lives in my storage pool
  • “Torrents” share – a thin provisioned share in the Backups folder.  It starts at zero size, and can grow to whatever size of files I dump in there – up to 1TB.  I can access the Torrents share as a folder in Windows or on the Mac.
  • The Torrents onboard application added a Download folder in the Torrents share.  I can copy any torrent file into this folder, and the Iomega begins downloading it.
I'm in ur tubez, downloadin ur questions.

Torrent Download Details

The application user interfaces are designed by geeks, for geeks: they’re just good enough to be point-and-click usable, but not good enough that I’d want to walk family members through configuring or troubleshooting them.  For example, in the Torrent configurations screen, there’s a Port box.  You can manually configure a port or use the automatically supplied one, but you can’t tell if it’s actually working.  There’s no “test the router” functionality built in, so I have no idea if uploads are working or not until I start seeding a torrent.  There’s edit boxes for Maximum Download Speed and Maximum Upload Speed, but there’s no scale – is it KB/sec or MB/sec?

The apps have just enough capabilities to say they work, but not much more than that.  Modern BitTorrent clients all have scheduling setups so that you can transfer more at night and throttle back the sharing during the day – not here.

The Amazon S3 sync app will upload your files to S3, but it won’t delete the ones that get deleted on the NAS, thereby making your storage bill steadily increase.  If you use it for, say, SQL Server offsite backups, you would want to reuse your backup file names in order to get a 7-day rotation in the cloud.  You’d run into a separate issue anyway – S3′s max file upload size is 5GB.  Any larger files just don’t get uploaded, and you don’t get an alert.  No upload/download throttling or time-of-day scheduling here either – your bandwidth will just slow to a crawl as new files are added to S3.

Size Matters

Time Machine File Sizes Not Updated

Time Machine works wonderfully as a backup target, but the user is presented with two cryptic fields: Apple Network Hostname and Ethernet ID.  The network hostname comes from your Mac’s System Preferences, Sharing, click Edit, and it’s the part you can edit.  The Ethernet ID comes from going into Terminal, type ifconfig, hit enter, and look for en0 – the next line says ether, and copy/paste the characters to the right of that.  The Iomega doesn’t tell you any of this.  The only thing it does tell you is the Time Machine backup folder’s size, a constant 173MB, and even that is wrong.  After several days of backups, the folder sizes still showed incorrectly on the Time Machine panel of the Iomega.

But it works.

At least, I think it works.

And that’s what makes this review so hard.  When the control panel tells me it’s configuring a RAID 10 array with 3 drives, I know it’s wrong.  A basic error like that shakes my confidence in the entire unit.  Same thing with the incorrect Time Machine folder sizes, and the wacko configuration screens.  If I can’t trust what it’s showing me, how can I trust what’s happening behind the scenes?  I’m not sure.  This doesn’t bother me too much for home media backups, but it would bother me a lot for running my virtual machines.

Is the Iomega PX4-300d the Best VMware Storage Server?

Like MJ, I keep it in the closet.

My home VMware lab: HP Microservers and the Iomega PX4-300d

Most business iSCSI network implementations involve a completely separate logical network for iSCSI – separate IP addresses on a separate subnet.  For example, my home network is on 192.168.37.x, so I might use 192.168.47.x for my iSCSI network.  The iSCSI traffic is kept away from the regular network.

Most business iSCSI setups also involve redundancy: the storage device is plugged into the network with at least two network patch cables plugged into two different network cards.  If either one fails, you’re still able to talk to the storage.

At first glance, the PX4 can handle either one of those requirements, but not both.  If you want two separate logical networks, then you probably want to isolate the iSCSI traffic completely.  You can configure one of the PX4′s network ports into your management network (like 192.168.37.x) and plug the other into an iSCSI network.  When you do that, you just lost redundancy.  If you choose instead to have both of the PX4-300d’s network jacks plugged into the same network, that network is going to need to see the outside world if you want to use any of the PX4′s home-media-savvy features like BitTorrent.

This is where the good monster comes in again.

This Good Monster Has VLAN Support

This NAS supports VLANs – multiple virtual network subnets attached to the same network card.  Imagine an incoming network packet that finds its way to your server, and it’s got a tiny part at the beginning saying, “I’m coming from Virtual LAN #1.”  Your operating system would need to understand that it’s attached to a certain subnet and route it to Virtual Network Card #1.  The next packet might come in saying, “I’m coming from Virtual LAN #2,” and your computer would understand that it’s part of your Virtual Network Card #2 – the one for iSCSI.

Granted, your one network cable is only so fast, and we can’t stuff 2Gb of traffic into a 1Gb bag patch cable.  However, this does let us segregate network traffic at the switch level so that your chatty iSCSI traffic doesn’t overwhelm your regular network, and your chatty BitTorrent client traffic doesn’t overwhelm your iSCSI storage network.  While it is indeed delicious to get your chocolate in my peanut butter, it’s not nearly as delicious to get your BitTorrent in my iSCSI.

VLANs require a savvy operating system like VMware ESX/ESXi and a VLAN-capable switch.  I chose the $125 Cisco SLM2008-T because it supports VLANs, jumbo frames, has 8 ports, and it’s cheap.  Cisco switches have a reputation for being difficult to administer, but this one comes with a pretty good web control panel.  The setup process of putting in VLANs, jumbo frames, and ESXi configurations is a good idea for a future blog post, but suffice it to say that between Iomega’s web UI, Cisco’s web UI, and the vSphere Client user interface, you can be up and running with a very real-world-ish lab setup in under an hour – for some values of “running.”

Here comes the bad monster again – users can’t exclude network interfaces from iSCSI use.  Every time VMware rescanned the iSCSI adapters, the Iomega happily reported back that iSCSI services were available from every single IP address it owned.  I wanted to just do iSCSI over one network subnet, not both – no can do.  After pulling my hair out for a few hours, I threw in the towel and switched to NFS.  It worked the very first time I tried it, and it came with a nice perk: the StorCenter’s LCD display panel actually reflects the right amount of used space used on NFS volumes.  iSCSI volumes show up as completely full even if there’s not a single file on ‘em.  (That’s not the device’s fault, but users won’t know that.)

That’s probably a good lesson for StorCenter users: the features that require zero parameters are easy, and they work like a champ.

How Fast is This Cheap NAS?

They WILL vary.

Your mileage may vary. (Just one of dozens of test passes.)

Geeks love to tweak parameters.  I want to set the stripe size, caching, NIC load balancing, and flux capacitor voltage for every storage device.  That’s not what the StorCenter PX4/PX6 is about: it’s just, uh, storage.  Just as the other LifeLine apps don’t have much in the way of parameters, the iSCSI app checks just enough boxes to work – but that’s where the fun ends.

Most of my Windows-based iSCSI tests were able to saturate a 1Gbps Ethernet link with reads or with big sequential writes, and small or random writes ran around 10-60 MB/sec.  I was surprised, though, that no matter what tricks I played with multipathing or multiple iSCSI volumes striped together, I just couldn’t get this thing to blow past a single NIC’s throughput.  The lack of network card performance metrics on the Iomega made it a little tricky to troubleshoot, but after I checked the Cisco switch metrics, I got proof: the iSCSI traffic was only sent back through one network card on the Iomega – specifically, NIC #1.

I can write iSCSI data to both of the PX4′s network cards simultaneously.  They just won’t send data back from both simultaneously – at least, not when they’re both on the same subnet.  Maybe by getting even fancier with the multipathing setup and putting the two network cards on two different VLANs, in two subnets, I might be able to break past the 100 MB/sec read speed limit.  (For more about multipathing, check out my SAN Multipathing series.)

But you know what?  100MB/sec is fine for me.  See, if I really needed speed, I would have filled this thing with SSDs to begin with.  Solid state drives excel at random access, and that’s what every Iomega StorCenter NAS is going to end up doing – lots of random access.  Multiple VMs accessing the same LUN, BitTorrents being transferred, MP3s being played, these little devices are a party in a box.  The drives are going to be worked hard, and I bet for most people, the real speed limit will be the random access speed of the drives anyway.

But while troubleshooting storage performance multipathing, I ran into the bad side of the monster again.  I unplugged one of the Iomega’s two network cables, and I didn’t get any warnings whatsoever.  The PX4 didn’t show any errors on the LCD display or the web control panel, and it didn’t even notify me via the built-in email alerts.  I had to dig into the network screen to even figure out that one of the cables was unplugged.  Upon reconnecting the cable, the Iomega autonegotiated to 10Mbps (not 100, not gig, but 10) half duplex.  No warnings were shown on the control panel for that, either, and to make matters worse, you can’t set the Ethernet speeds.  It’s autonegotiate or nothin’.

Bottom Line: It’s a Little Monster Alright.

So close, but yet, so far...

Iomega PX4-300d: 95% There

The Iomega PX4-300d NAS seduced me with its long, strong…feature list, and I’m willing to overlook the wild infestations of crabs bugs for my lab at home.  It’s the first NAS I haven’t returned back to the shop in less than 72 hours.  Like the philosopher said:

Look at him, look at me
That boy is bad, and honestly
He’s a wolf in disguise
But I can’t stop staring in those evil eyes

Who should buy the StorCenter PX4/PX6? Home users that want one quiet, capable box to sit in a closet handling backups, media, BitTorrents, uploading photos to the cloud, and other menial chores.  Yes, you could build your own more-capable solution for less money, but it won’t be as point-and-click easy as the Iomega.  IT, DevOps, and developer managers should also pick up one of these as a reward for a well-performing team.  Throw one of these under a cubicle and for less than the price of a good workstation, the entire team now has an iSCSI sandbox and shared MP3 storage off the domain and away from the corporate IT overlords.

Who shouldn’t buy it? I wouldn’t recommend the PX4/PX6 in a business environment for anything other than a lab – at least, not until versions of the firmware come out that fix the glaring UI bugs and stop users from rebooting the NAS.  I would be very uncomfortable to go into a small business as a consultant, sell them a shared storage setup using a StorCenter PX4/PX6, and walk away.

Can they fix these issues with firmware updates?  Yes, but only if they test the new firmware updates better than they’ve tested so far, and as of August 2011, it’s not looking good.  After applying a firmware update to fix the VMware multipathing issue, I received this disturbing email from Iomega:

Thank you for downloading the recent firmware update for your Iomega StorCenter px. After release, we identified an issue with growing or expanding storage pools with the v 3.1.10. 45882 update.  If you have not yet applied the update to your system, please wait. We will be releasing a new version of the firmware that resolves the issue soon.  If you applied the update, you should not experience any issues unless you expand or modify the size of a storage pool.   If you do experience any issues with a storage pool, please reply to Iomega Technical Support using this incident number….

M-m-m-monster…

If you decide to buy it, you can throw me a few coins by buying the Iomega PX4-300d via my Amazon link or the 6-drive version, the PX6.  And hey, it’s in stock for Prime members, so you could have it tomorrow – plenty of time to play with it over the holiday weekend. I’m not sayin’, I’m just sayin’.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Apple MacBook Air 2011 13″ Review

As I was finishing recording the Microsoft Certified Master videos last month, my beloved and well-traveled MacBook Pro started giving me fits.  It survived three very rough years on the road, encoding HD videos at home, and running multiple simultaneous heavy-load VMs.  I was really pleased that it lasted as long as it did, but I have to confess that I’ve had my eyes on a new MacBook Pro for a while.

As much as I love whipping out the plastic at the Apple Store, December 2010 was a really, really bad time to buy a new laptop.  Intel’s new Sandy Bridge processors were scheduled for release at CES in January, and that meant an all-new lineup of laptops arriving too.  Sandy Bridge CPUs were said to be 10-23% faster while using less electricity – great numbers for a laptop.

I took a deep breath and evaluated my needs:

  • One heavy-duty laptop to demo clustering – and I really wanted that to have 16GB of memory, something unavailable in Apple’s 2010 laptop lineup.
  • One backup presentation device – ever since my epic 2009 European trip disaster when my laptop failed and I had to use a Swedish-speaking netbook, I always travel with two devices capable of giving presentations.  The iPad fulfilled that role.

I was pretty happy with the iPad, but not completely.  It has a phenomenal 8-12 hour battery life, keeps me occupied on airplanes with movies & games, and shows PowerPoint slides.  Well, that’s not entirely true, because it doesn’t import all PowerPoint features perfectly.  Custom fonts, SmartArt, and animations don’t always work, and I hated having to make excuses for imperfections in my slide decks.  (Other than the factual errors, which everybody expects from me anyway.)

Suddenly the light went off – what if I bought a new MacBook Air to be my backup presentation device?  It could run the real PowerPoint, displaying my slides in all their font-perfect glory.  Sure, it would suck as a primary laptop due to its limited CPU power, memory, and storage space, but as a backup presentation device, it made pretty good sense.

Choosing Between the 11″ and 13″ Air (2011 Model)

The 13″ has faster available processors, longer battery life, and an SD card slot, but for me, the decision point boiled down to this:

  • 11″ – sexy, but maxes out at 128GB of storage
  • 13″ – conventional laptop footprint, 256GB of storage

The drive space is especially important because the Air uses a new format of SSD drive that isn’t available to consumers yet.  It’s technically end-user-replaceable, but you just can’t buy a replacement off the shelf yet, so love the one you’re with.  For me, that made the 128GB drive a deal-breaker because I wanted to sync my complete home directory with all my client documents, presentations, and music.  I didn’t want to hassle with picking a subset of data to sync.

One of the cool things about replacing Apple gear is the Time Machine backup system.  You simply boot up your new Mac at home, and it asks if you’d like to transfer data from an existing Time Machine backup.  I use an Apple Time Capsule for my backups, and the Air detected it automatically and asked which of my Macs I was replacing with the Air.  I picked my old MacBook Pro, and a few hours later, it was just as if my old laptop had been transformed into an Air.  OSX backups include all of your applications, settings, documents, you name it.

Sort of.

The problem with replacing your main machine with an Air is that the Air probably doesn’t have enough hard drive space to accommodate your years of junk.  Before I did the Time Capsule boogie, I did some strategic drive planning.

How I Store Stuff on the Air

Before the Air, I had a simple strategy – all my stuff went on the laptop’s internal drive except virtual machines.  I stored my VMs on an external hard drive.  My old MBP had a 750GB internal drive with around 400GB used, and I needed to identify the drive space hogs.

GrandPerspective Drive Map

GrandPerspective Drive Map

I fired up GrandPerspective, a free tool that scans your hard drive and builds a graph of the big files and directories.  It’s easy to move your mouse around over the map and figure out which paths and files are sucking up too much space.  I made a few quick passes, deleting stuff I didn’t need anymore, and suddenly my entire drive was down to just about 300GB used.  I got excited – what if I could actually use my MacBook Air as my primary machine?  Unfortunately, one big thing kept me from squeaking under the 256GB border: my iPhoto library, already over 100GB and growing daily.

After a lot of sighs – really, just 256GB, Apple? – here’s how I decided to carve up my storage:

Internal 256GB SSD drive – my documents, music, and my most commonly used virtual machine.  I run one VM with SQL Server 2008 R2 for most of my demos and client work.

USB 1TB drive – my iPhoto library, movies, virtual machines, and downloaded software.  The drive has four folders:

  • \Backed Up and \Not Backed Up – almost everything goes into subfolders of these.  For example, my downloaded Microsoft software goes to \Not Backed Up\Software because I can always re-download it from MSDN, but software I buy online goes into \Backed Up\Software.
  • \iMovie Events and \iMovie Projects – I’m futzing with iMovie to produce a HD podcast on the cheap, and that means lots and lots of big video files.  I don’t want those on the solid state drive, so I put them on the external, but iMovie won’t allow you to pick a specific FOLDER to store your videos – only a drive.  Ideally I’d put these in \Backed Up, but I’m sure Apple knows better about this sort of thing than I do. </sarcasm>

I use the built-in Time Machine software for backups, and by default, Time Machine doesn’t back up external USB drives.  It implements that by adding an entry in the exclusions list for the root of each USB drive.  I removed the exclusion for my 1TB USB drive, then added an exclusion for its \Not Backed Up folder.  That way my \Backed Up and iMovie folders automatically find their way to my Time Capsule.  (Yes, the Time Capsule is overpriced, but it matches my computing lifestyle: I’m willing to pay more if things get easier so I can focus on what I love to do.)

SD cards stick out

SD cards stick out

My storage design means I can’t use iMovie or iPhoto if I’m on the road without my USB drive.  Not a showstopper for me, since I use an Eye-Fi SD card anyway, which automatically uploads my photos to Flickr or Facebook.  However, it’s a little annoying when I plug in my iPhone – OS X asks what iPhoto library I’d like to use because my USB drive isn’t plugged in.

Mini-review of the Eye-Fi SD card: As long as I’m mentioning it, everybody should own an Eye-Fi Explore.  It’s a $90 SD card with built-in geotagging (marking your photos with physical locations), WiFi, plus hotspot access.  Your friends and family at home can follow along with your adventures without you having to drag a computer around to upload stuff.  It’ll even selectively upload only the pictures you choose (handled by your camera’s lock-image function – if it’s locked, it gets uploaded).  Even if all your pictures are taken at home, you’ll appreciate the Eye-Fi’s automatic uploading of pictures to your desktop computer – my photos automatically go straight into iPhoto as soon as my camera is turned on within wireless range of my Mac.  I can configure the Eye-Fi to tweet, post FaceBook messages, or send emails whenever new photos go out, so my friends & family can see what I’ve been up to.  Topping things off, the Eye-Fi has an “unlimited memory” setting: when your card hits 80% used, it starts deleting images that have already been uploaded to your computer.  Your friends and relatives who hate computers will love this card because it’s automagical.  (Your friends who take dirty pictures, however, should think twice.)  $90.  Just do it.

Now back to the laptop.  The Air has an SD card slot, and while 32GB SD cards have gotten pretty cheap, I wouldn’t recommend using those as a full-time storage device.  The Air’s SD card slot isn’t full depth – cards stick out of the side – and the klutz in me would break that pretty quickly.  I do use a 32GB SD card to back up my primary demo VM because it’s just so darned convenient.  I leave the postage-stamp size card in my laptop bag as insurance against demo disasters.

My kind of brick

Now THAT is the right size for a laptop power supply.

What I Like About the 2011 Air

When I want to work at a cafe, I grab the Air and go.  No charger (not that the charger is bulky, either), no cables, and most of the time, I don’t even put the Air into a case.  I just walk out the door with it under my arm because the one-piece aluminum body is rock freakin’ solid.  The battery life is astounding for such a lightweight device, and the best way I can explain it is to say that I don’t care about battery life anymore.  The Air’s battery can outlast my ability to work at a cafe, period.  I’ve ordered coffee at 7AM, worked until 1-2PM, and still had battery life left.  Anandtech said it best in their Air review:

“The 11-inch Air delivers nearly 7 hours on a single charge and the 13-inch managed 11.2 hours. For a writer, you can’t do better than this.”

As an IT professional, though, we need more than web browsers and Word, and that’s where virtualization comes in.  With just 4GB of memory, I can’t do complicated clustering demos on the Air, but for a single virtual machine running SQL Server 2008R2 and my array of utilities, it’s perfectly fine.

What I like the most, though, is the speed.  The Air uses an ancient CPU, but the solid state drive and the OS optimizations make it feel blazing fast.  Close the lid and it sleeps instantly – then open the lid again, and you’re working within two seconds.  Tell it to shut down, and the screen’s dark within three seconds.  Coming from my three-year-old MacBook Pro with a spinning hard drive, the Air is an upgrade.  Sitting next to Paul Randal’s brand-new $6,000 laptop running Windows, the Air still seems faster at basic tasks – I shake my head while I watch him power down.  “I just need another few seconds, it’s almost there…”

What I Meh About the 2011 Air

To get to this tiny form factor, Apple stripped out a couple of features that Apple veterans loved: FireWire and a backlit keyboard.  I miss the backlit keyboard when I’m working on dark flights.  I miss FireWire every time I do a videoconference because I used to use a real camcorder plugged in via FireWire.  The built-in iSight camera isn’t bad, but it doesn’t hold a candle to a real camcorder.  (Those of you who think your HD webcam is good should check out the results of even a $250 consumer-level camcorder with FireWire out – the camcorder’s low-light handling is much, much better.)

I thought the lack of integrated 3G wireless would bother me, because that seamless connectivity is one of the things I love about my iPad.  It hasn’t been an issue because the Air pairs over Bluetooth with my iPhone whenever I can’t get WiFi coverage.  That does deplete battery life quicker on both the phone and the laptop, though, so it’s not ideal.

High definition Flash videos make the fan kick on.  Most PC users I know don’t notice this because their computer fan always runs anyway, but on a completely silent Air with a solid state drive, even the slightest noise stands out.  This isn’t really a problem with the Air as much as it is a problem with Adobe’s craptastic programming, but it bears mentioning.  The Air can still play 1080p videos without stuttering.

Okay, let’s get to the elephant in the room – money.  The total purchase price including AppleCare and a few video adapter cables rang up a little over $2,300.  That is one hell of a lot of money for a backup presentation device, and it’s the most I’ve ever spent on a laptop.  (My prior laptops have all been company machines or gifts.)  It’s pretty much the cost I would expect to spend on a very nice primary laptop, which brings me to…

My Workspace 2011

My Workspace 2011

What Surprised Me About the MacBook Air

1. It’s become my only laptop.

With my trusty $320 28″ monitor, my old-school Microsoft Natural Keyboard, and my Magic Mouse, I work on this thing all day long and it rarely crosses my mind that this is an ultralight laptop.  Even the new Sandy Bridge laptops haven’t tempted me at all, and I can see using the Air as my only laptop for the next couple of years.  Now I just have to figure out portable demos for clustering & virtualization – right now, I’m leaning toward cloud-based solutions.

2. It’s almost replaced my iPad.

I loved my iPad for its light weight, more-than-good-enough speed, and long battery life.  It’s such a pleasure to use that I found myself trying to figure out how to make it my primary travel device, but the iOS apps just aren’t there yet.  The Air sacrifices some of the iPad’s strengths – it’s a little heavier, and the battery life isn’t quite as good – but adds in all the application goodness of a real laptop.

If you’re considering an iPad with 3G, go take a MacBook Air for a spin.  You were probably going to spend $899 on the 64GB iPad, and for just $70 more, you can get the MacBook Air 11″.

Just be careful.

Once you take a sip of the OS X Kool-Aid, you’ll never be the same.

Wanna learn more? Read my post about How To Buy Your First Mac.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Book Review: Applied Architecture Patterns on the Microsoft Platform

I usually hate architecture books.  I can’t stand ‘em.  Seems like every one I’ve ever read has been targeted at architecture astronauts – people who spend all their time talking theory, not practice.

Buy it. It's good.

Applied Architecture Patterns on the Microsoft Platform

This book is different.  Reading this book is like having drinks in the pub with a team of rock star consultants who’ve spent the last year jumping around from one cool project to another.  They give you the low-down on all the technologies they’ve been working with, telling you just enough information to help you understand what each technology is used for, but not so much that it’s boring.

Every chapter begins with a business challenge, discusses the requirements, and then compares and contrasts the abilities of various Microsoft tools to answer the business needs.  Every tool gets either a thumbs-up or a thumbs-down in four attributes: design, delivery, operations, and organization.  After picking the most appropriate tool, the authors show just enough sample code to illustrate how the tool works.  You can’t pick up this book and suddenly become a rock star consultant with any of the tools – that’s not the goal.  Instead, the goal is to help you pick the right tool for your needs, and then you go learn the right tool instead of trying to use a hammer to fix every problem.

You, dear reader, can pick up this book with no background in architecture, consulting, or the Microsoft stack, and just start skimming.  When a business scenario jumps out as interesting, dig deeper into that chapter.  Along the way, you’ll learn about a bunch of Microsoft products:

  • Windows Communication Foundation
  • Windows Server AppFabric
  • BizTalk
  • SQL Server Integration Services
  • SQL Azure
  • Windows Azure
  • Service Broker
  • SharePoint
  • StreamInsight
  • Hyper-V

Every developer, DBA, and project manager who works with consultants needs this book because it opens your eyes to new solutions you might not have considered before, and it wises you up to real-world weaknesses.  This isn’t a sales-pitch whitepaper by somebody’s marketing team – it’s honest material that fesses up where products fall down.

I don’t say this lightly: this was the best tech book I read in 2010. I’m very grateful to Ewan Fairweather, one of the authors, for giving me a copy.

Here’s where to learn more:

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Fusion-IO ioDrive Review

Solid state drives (SSDs) have gotten a lot of press because they can be dramatically faster than magnetic hard drives.  They use flash memory instead of spinning magnetic platters.  Since any bit of memory can be accessed at any time without moving a hard drive’s head around, SSD random access is insanely fast.

Fusion-IO ioDrive

Fusion-IO ioDrive

How fast are SSDs?  So fast that good ones overwhelm the capacity of the connection between the server and the drive.  The SATA bus maxes out at around 300 MB/s, and a good SSD can saturate that connection.  In order to get your money’s worth out of an SSD, you have to connect it with something faster than SATA.  Value is especially important given the pricing of solid state drives – more on that in a minute.

Fusion-IO ioDrives get around this limitation because they’re not SATA drives; they plug directly into your server’s much faster PCI Express bus.  These cards can push several times more data per second than SATA drives can. Other vendors using this approach include OCZ Z-drives and RAMSAN.  Of course, this connection method only pays off when the drive uses top-notch memory chips, and after briefly testing some of Fusion-IO’s products in their lab, I can vouch that they’re using the good stuff.

How Fast Are Fusion-IO Drives?

As a former SAN administrator, I’m anal retentive about reliability and uptime.  I’ve heard FusionIO drives sold as a “SAN in your hand,” but with a single drive, there’s not enough failure protection for my personal tastes.  I wouldn’t run any storage device without redundancy, so I ran most of my tests in a RAID 1 configuration – a mirrored pair of Fusion-IO SSDs.  Keep in mind that since these devices have their own built-in controllers, any RAID setup must be a software RAID setup managed by Windows.  Software RAID has a bad reputation, but it’s the only choice available when working with these drives.  I was initially worried about the performance impact of software RAID, but I didn’t have anything to worry about.

I tested several different ioDrive models using my SQLIO scripts as seen on SQLServerPedia and got blazing results.  Here’s a fairly typical set of results from a pass doing random reads:

C:\SQLIO>sqlio -kR -t2 -s120 -o8 -frandom -b64 -BH -LS P:\SQLIO\TestFile1.dat
sqlio v1.5.SG
using system counter for latency timings, 2929716 counts per second
2 threads reading for 120 secs from file P:\SQLIO\TestFile1.dat
using 64KB random IOs
enabling multiple I/Os per thread with 8 outstanding
buffering set to use hardware disk cache (but not file cache)
using current size: 10240 MB for file: P:\SQLIO\TestFile1.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec: 22787.54
MBs/sec:  1424.22
latency metrics:
Min_Latency(ms): 0
Avg_Latency(ms): 0
Max_Latency(ms): 106
histogram:
ms: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24+
%: 100  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

I know what you’re saying, though.  “Wow, Brent, that’s faster than any SAN I’ve ever seen before, but solid state drives are slower for writes, right?”  Yes, here’s a set of results for writes:

C:\SQLIO>sqlio -kW -t2 -s120 -o1 -frandom -b64 -BH -LS P:\SQLIO\TestFile1.dat
sqlio v1.5.SG
using system counter for latency timings, 2929716 counts per second
2 threads writing for 120 secs to file P:\SQLIO\TestFile1.dat
using 64KB random IOs
enabling multiple I/Os per thread with 1 outstanding
buffering set to use hardware disk cache (but not file cache)
using current size: 10240 MB for file: P:\SQLIO\TestFile1.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec: 10114.24
MBs/sec:   632.14
latency metrics:
Min_Latency(ms): 0
Avg_Latency(ms): 0
Max_Latency(ms): 54
histogram:
ms: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24+
%: 100  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

Write performance was about half as much as read performance, but that wasn’t because Fusion-IO drives were significantly slower in writing.  They managed the same 500-600 MBs/sec write performance when using one drive alone (rather than RAID).  When I put them in a RAID 0 (striped) configuration, I frequently got over 1,000 MBs/sec.  To put things in perspective, the fastest solid state drives in Anandtech’s recent showdown only achieved 337 MBs/sec in their absolute best case scenarios.

The only way to outperform a Fusion-IO drive is to invest six figures in a SAN and hire a really sharp SAN admin. These drives consistently outperformed every storage I’ve ever seen short of SANs wired up with true active-active multipathing software, because typical 4Gb fiber connections can’t sustain this kind of throughput.  Random access, sequential access, lots of threads, few threads, reads, writes, you name it – once we had them configured properly, I couldn’t get them to perform any slower than 550 MBs/sec, which is faster than you can drive 4Gb fiber.  Connecting directly to the PCI Express bus really pays off here, and makes everything simple.

Configuring SQL Server on a SAN is hard.  To really wring the best performance out of it, you have to design the pathing, the queue lengths on the host bus adapters, the RAID arrays, the SAN caching, the database filegroups and files, and sometimes SQL Server table partitioning in order to get everything to work in concert.  Fusion-IO drives return SQL Server configuration to its easiest: plug it in, put data and logs on the same array, and just create databases with the GUI, using one data file and one log file.  As long as your hardware environment is solid, it’s pretty darned hard to screw up a database configuration on Fusion-IO drives.

The Drawbacks of PCI Express Drives

Connecting data storage devices as PCI Express cards isn’t all unicorns and rainbows. Since they’re PCI Express cards, they can’t be used in blades unless you’ve got special PCI Express expansion blades.

These cards are connected directly to one server, which means they can’t be used in clustering environments.  If your data is mission-critical, you’re probably using a cluster to protect yourself from server failures.  Protecting from failures is even more important when you’ve got a single point of failure – like, well, a single PCI Express card with all your data.  If something should happen to go wrong with one of these devices, you can’t simply fail over to another server unless you’re doing synchronous database mirroring, something I rarely see in production.

You can get some form of protection by using software RAID 1: building a simple mirror with Windows between two Fusion-IO drives in the same server.  Whenever data is written to the volume, Windows will automatically write it to both Fusion-IO drives.  Software RAID gets a bad rap, but in my brief testing, I saw no performance penalty when using this configuration.

However, when a drive fails, you probably won’t be hot-swapping these while the server is in operation.  With server-class RAID arrays, you can pull a failed hard drive out of a server and replace it on the fly.  The RAID controller will rebuild the array while the server is still online.  Data access speeds will be slower while the array is rebuilt, but at least the server can stay up the entire time without an outage.  Not so with PCI Express cards: the server will have to be pulled out of the rack and opened up in order to access the drives.  This requires careful cabling – something I don’t see often in datacenters.

And Yes, You Need to Be Paranoid

During my testing, before Fusion-IO ironed out all of the configuration issues, I kept having drives drop offline.  Normally I’d blame my own stupidity, but my tests were run in FusionIO’s datacenter, on their servers, configured by their staff.  I connected via remote desktop, set up SQLIO per my SQLIO tutorial at SQLServerPedia, and ran the tests.  During my tests, ioDrives appeared to have failed and FusionIO staff had to replace them.  It took several weeks for us to narrow down several unfortunate problems.

If you truly try to push your IO subsystems to the limit, a Fusion-IO subsystem will expose more weaknesses than other storage subsystems because it has so much more throughput.  Some of the problems included motherboard issues, driver problems, OS configuration errors, and even insufficient power supplies that couldn’t handle the load of multiple drives.

Buyers need to be aware that this is a version 1 product with version 1 best practices and documentation.  When you put something like this into your infrastructure, make sure you’re actually adding reliability.  In my post about adding reliability to your infrastructure, I pointed out:

“The only way a twin-engine plane is more reliable is if just one of the two engines is enough to power the airplane safely. If the airplane requires both engines in order to maneuver and land, then the second engine didn’t add reliability: it just added complexity, expense and maintenance woes.”

The ironic part about my FusionIO testing woes was that they only happened in RAID scenarios.  The drives were actually more reliable without RAID – when I added RAID, I could knock a drive offline in minutes.  The faster we wanted to go, the more careful the team had to be with other pieces of the infrastructure.

FusionIO drives solve a real problem, and they can deliver staggering performance, but just like any other new technology, you should test them thoroughly in your own environment before deploying them in production.  Make sure to test them in the exact configuration you plan to deploy – if you’re going to deploy them in a RAID configuration, test them that way, rather than testing individual drives and assuming they’ll hold up in RAID configs.  In the case of Fusion-IO drives, you should probably even test using similar power supplies to production in order to improve your odds.

Where I’d Use Fusion-IO Drives in Database Servers

If you’re experiencing heavy load problems in TempDB, and if you’re not using a cluster, a Fusion-IO drive can probably solve the problem with less engineering effort than any other solution.  Simply shut down the server, drop in an ioDrive, change SQL Server’s TempDB location to point to the ioDrive, and start SQL Server up again.  Your TempDB IO won’t travel over the same storage paths that your database needs, which frees up more bandwidth for your data and log traffic.  TempDB requests stay on the PCI Express bus and don’t hit your SAN.

If you’ve got power, cooling, and space constraints in your datacenter, but you need to add more storage performance (but not necessarily capacity), a Fusion-IO drive makes sense.  You’ll gain more storage throughput this way than by adding several shelves of bulky, hot hard drives that require lots of power.  On a cost-per-gigabyte basis, this won’t make economic sense, but if you’re buying storage for performance needs, the cost equation is different.

If you need to scale an OLTP database that doesn’t require high availability, you might consider skipping clustering and trying database mirroring instead.  Use two SQL Servers in the same datacenter, both equipped with Fusion-IO drives, and make sure they’ve got plenty of bandwidth between them to keep up with synchronous (or asynchronous) mirroring.  You could argue that this provides a higher availability than clustering, since it uses two different storage back ends.  I’ve had SANs fail, and I can see how this might be attractive in some environments.  StackOverflow strikes me as an excellent candidate – the databases are small enough to fit on Fusion-IO’s drives, and the servers are rack-mounted as opposed to blades.

I’m also intrigued at the ioDrive’s potential to offload transaction log load.  I can envision a scenario where databases are in full recovery mode, but the load of logging and transaction log backups is starting to put a strain on the server’s IO.  Moving the transaction logs onto the Fusion-IO drive eases the load on the SAN (not just the hard drives, but the cabling between the servers and the SAN controller).

I wish I had SQL Server benchmarks for these scenarios to share with you, but the testing process ended up taking several weeks, and I ran out of time.  Thankfully, Paul Randal is blogging about his experiences with Fusion-IO drives.

My verdict: these drives can solve some tough challenges. I’m not saying that because I’m being paid to, either; Fusion-IO was gracious enough to give me access to their labs for my testing, but I didn’t get compensated.  Quite the opposite – I sank a lot of time into this project.  Folks who follow me on Twitter may remember that I struggled with Fusion-IO during the initial stages of the testing as we went through one hardware failure after another.  After the problems we encountered and the weeks of investigation, I’m glad to finally be able to say without hesitation that you should check out FusionIO’s products.  Their throughput may push the rest of your infrastructure to its limits, but hey – that can be a good problem to have!

This post is a part of T-SQL Tuesday, which is focusing on storage/IO this week.  If you liked this post, head over there to see what else is happening in the blogosphere this week!

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Blog Better Week: Strunk & White’s Elements of Style

This week I’m focusing on how you can improve your blog. So far I’ve talked about why you should schedule blog posts, how to write a product review, how to spice up your blog with pictures, and how to get people to find you online, and today I’m wrapping things up with a book recommendation.  My next series in a couple of weeks will focus on social networking basics.

Everything I know about style, I learned from two dead white guys.

Watching Project Runway is Not Enough

Watching Project Runway is Not Enough

Strunk and White’s classic book The Elements of Style crams a lot into less than 100 pages, and it’s less than $15.  It covers basic rules of grammar, explains frequently misused words, and inspires readers to become better writers.

My first reaction upon reading the Approach to Style section was a revolt.  I don’t want my blog to read like a faceless newspaper article or an encyclopedia entry.  However, the more I dug into the book, the more I realized that it encouraged the reader to follow some simple guidelines in their efforts to build their own unique voice.  When the book’s authors put similar passageways from Faulkner and Hemingway side-by-side to show how two writers convey the same concept, it just plain works.

It’s chock full of examples from famous books I know I should have read a long time ago.  Reading each snippet reinforces the notion that writing really is an art, and that every time we publish a blog entry, Strunk and White each turn another revolution in their graves.

The hilarious presenter and blogger Jimmy May (BlogTwitter) first prompted me to buy this book, and I owe him a debt of gratitude.  I’d also like to thank Mrs. Weathersby, my senior year English teacher, and point out that I learned a valuable lesson in her class.  Although she was horrified to discover that I’d written John Szegda’s term paper for him, I did indeed learn that writing pays off.

I highly recommend The Elements of Style to any blogger who wants to improve their craft, and you can buy it from Amazon.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

W3 Total Cache Plugin Review

Databases are slow.

I shouldn’t say that, because I’m a DBA, but it’s the sad truth – databases are often the bottleneck for web apps.  WordPress is just another web app – it builds pages by querying a MySQL database.  If we want WordPress to scale, we need to minimize the number of times it has to hit the database.  Reducing the number of plugins helps, but sometimes it’s still not enough.

I used to use the excellent WP-Super-Cache plugin to cache my blog pages.  It’s a filesystem-based cache that saves generated versions of your pages.  It works great, but you have to be very careful that all of your other plugins work well with it.  For example, I tried using a Google AdSense plugin that checked where you were coming from, and if you’d stumbled in via Google, it showed Google ads related to your search query.  Unfortunately, once that page got into cache, EVERYBODY saw the ads – whether they’d come from Google or not.  Bad.  I had to check every plugin I used and determine whether it was impacting my caching, and I ended up pulling a lot of good plugins out just so I could scale to more viewers.

W3 Total Cache has a whole different bag of tricks.  It uses memcached, a memory-based cache, and as a result it appears to be much faster than WP-Super-Cache.  The downside is that memcached isn’t available on most shared hosting providers.  It’s not even usually installed on dedicated virtual servers, so you’ll need to follow a few instructions to get memcached up and running first.  MediaTemple users can follow their memcached setup instructions.  (This is yet another reason why I love MediaTemple – their documentation is stellar.)  Other hosting company users still get an excellent checklist in the W3 Total Cache Installation page built into the plugin.

Since it’s a memory-based cache, memcached also requires more memory than WP-Super-Cache.  MediaTemple recently rolled out free memory upgrades to their hosting customers (did I mention that I love MediaTemple?) so I had more than enough available memory to handle it.

Beyond Caching: Options for Content Delivery Networks

When your site hits the front page of Digg or Slashdot, you might want even more scalability.  Content Delivery Networks, or CDNs, host your static files (images, css, js) on their servers, thereby reducing yet more load on your web server.  CDN companies replicate content across their worldwide servers, thereby making your pages render faster for users on other continents.

This option is probably overkill for 99.9% of the blogs out there, but when you need it, you have no time to set it up.  If you’re writing the kinds of content that you hope will end up on Digg’s home page, then you need to set up a CDN (and caching, for that matter) long before you need it.  My web site got knocked offline in May when Sherri Shepherd, one of the hosts on The View, linked to it, and I had to scramble to set up better caching and a CDN.  My site only really gets hammered once or twice a month, and using a CDN helps me survive those without getting an expensive dedicated server just for my blog.

W3 Total Cache has some support for CDNs that are accessible via FTP.  It will automatically upload your static files to your CDN, and update your web page code to the CDN without you having to lift a finger.  Unfortunately, Amazon S3 and Amazon CloudFront aren’t directly accessible via FTP, so if I chose to go that route, I’d need to switch CDN’s.  For now, I’m using the TanTan Amazon S3 plugin which uploads my post images to S3 and hosts ‘em there.  It doesn’t utilize Amazon CloudFront, so it’s not as fast as a real CDN, and it also doesn’t handle any of the CSS/JS/include files that W3 Total Cache will.  I’d really love to see W3 Total Cache implement CloudFront capability.

W3 Total Cache Also Shrinks Your Pages

W3 Total Cache can use HTTP compression (like GZIP) to shrink your pages, but it goes beyond that.  It will minify your JavaScript and CSS code, stripping out comments, spaces, and other things that don’t affect how the code works.  These things reduce the time it takes to download your web pages.  Here’s what one of my bigger pages looked like before W3 Total Cache minified it:

Before Minify

Before Minify

After W3 Total Cache:

After Minify

After Minify

Hubba hubba – almost a 30% drop in size without affecting content.  (Yes, I know it’s hilariously ironic to illustrate smaller web pages by using big screenshots.  I like images on my blog.  Get over it.)

Minifying Your CSS and JS Files

Minifying Your CSS and JS Files

It’s not point-and-click setup, though – you have to tell W3 Total Cache where each of your CSS and JS files are located.  In the screenshot here, I’ve entered in the exact locations of all of my CSS and JS files.  To find them, I could have tracked them down via view-source, but the easier way is to use a site like the Web Page Analyzer.  It points out all of the CSS and JS files that aren’t compressed and gives you the exact location.  You can copy/paste those into W3 Total Cache’s configuration, and it automagically handles ‘em.  It appears to be transparent to your plugins.

The downside of this manual setup is that you have to revisit it every time you change your theme or add a plugin.  W3 Total Cache doesn’t recognize that you’ve added CSS or JS files to your site.  I’ll have to set myself a reminder to use a web page analyzer once a month and make sure everything’s still working as designed.

Initially, you have to double-check your particular blog.  My CSS and JS files minified okay, but tag cloud broke when my HTML was minified:

W3 Total Cache Minify Bug

W3 Total Cache Minify Bug

It ripped out the spaces between tags, thereby rendering my cloud as long lines.  That one was easy to troubleshoot, but to fix it, I had to disable minification on my HTML, which cost me a little performance.  Other issues are not as easy to troubleshoot – I pity the fool who tries to view-source a minified web page, because it’s crammed together on a single line.  Well, not quite one line.

W3 Total Cache Adds a Footnote To Your Source Code

The plugin credits itself one of two ways.  By default, it tacks on a link at the end of your blog page.  If you uncheck that option in the Preferences page, W3 Total Cache instead adds a footnote inside your source code for anyone to see if they view your source.  Even when you choose to minify your pages, W3 Total Cache won’t minimize its own absurdly long footnote:

“This site’s performance optimized by W3 Total Cache:

W3 Total Cache improves the user experience of your blog by caching
frequent operations, reducing the weight of various files and providing
transparent content delivery network integration. The goal is to improve the
user experience for the readers of your blog without having to change
WordPress, your theme, your plugins or how you produce your content. When fully
utilized, your blog will be able to sustain extremely high traffic spikes
without requiring hardware upgrades or removing features or functionality from
your theme.

Features and benefits include:

– Improved progressive render (non-blocking CSS and JS embedding)
- Reduced HTTP Transactions, DNS lookups, reduced document load time
- Transparent content delivery network (CDN) support with automated media
library import
- Bandwidth savings via Minify and HTTP compression (gzip / deflate) for HTML, CSS
and JS
- Minification (concatenation, white space removal) of inline, external or 3rd
party JS and CSS with scheduled updates
- Optional embedding of JS just above </body>
- Support for caching pages, posts, feeds, database objects, CSS, JS in memory
with APC or memcached or both
- Caching of RSS/Atom Feeds (comments, page and site), URIs with query string
variables (like search result pages), Database queries, Pages, Posts, CSS and JS
- Complete header management including Etags
- Increased web server concurrency and reduced resource consumption, increased scale

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

That content is tacked onto every single page, thereby adding more length to your site. Ugh – that’s the opposite of what I wanted.  I would have no problem with adding 2-3 lines summing up the benefits, but this is absurdly overboard.

There’s no option to switch it off in the preferences, either, but I figured out a sneaky trick.  In the preferences, you have the option to add their link either to the footer of your web site or to your blogroll.  Since I don’t use WordPress’s built-in blogroll feature, I used that, and voila – W3 Total Cache stopped adding that ridiculous footer.  Note to the author: either accept donations, or compromise on a fair length of credits in the source code.

W3 Total Cache Preferences

W3 Total Cache Preferences

But, ah, those preferences…

The Good News: Lots of Options. The Bad News: Lots of Options.

Bug Example: Missing Comments

Bug Example: Missing Comments

This plugin’s options and documentation set a high bar for other plugins.  I’ve never seen so much tweaking potential in a WordPress plugin.  It approaches the level of usability in the very tweakable Atuahualpa theme that I use here on my blog.  If a particular feature doesn’t work, like the HTML minify problems I had, you don’t have to throw the baby out with the bathwater – just uncheck that particular part of one feature.

All these preferences and dependencies, though, is an indicator of the targeted audience.  If you’re just getting started with caching, you can’t go wrong with WP Super Cache.  It’s easy to install, easy to configure, and hard to screw up.  If you’re willing to put more time and effort into installing, configuring and testing your caching solution, then W3 Total Cache gives you more choices and flexibility.

W3 Total Cache is still in its infancy, but already it shows great potential.  I’ve run across bugs – sometimes comments don’t show up right away, even though the correct number of comments shows in the post description.  For example, the post will say “3 comments”, but only 2 will display.  I’m going to keep checking it out as new revisions come out, and I hope they implement S3/CloudFront CDN caching in the near future.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

How to Build a Silent PC

My computer has to be nearly silent because I use it to record video podcasts about SQL Server. I can’t have a big whirring fan noise in the background while I’m recording.  Normally I use a Macbook Pro, which is completely silent, but as part of my Hackintosh experiment I tried to build a silent PC.

I didn’t want to sacrifice speed in the name of silence: no mini-ITX, underpowered computer for me.  I used a Core 2 Duo 3GHz dual-core CPU, 8gb of memory, and five SATA drives (four in a RAID 10, one for backups).

Picking the Best Quiet PC Parts

Dell Optiplex 755 and Antec Mini P180

Dell Optiplex 755 and Antec Mini P180

I chose an Antec Mini P180 case (AntecNeweggReview) because:

  • It handles five 3.5″ internal drives (I plan on doing a big RAID)
  • The 7200 RPM drives are going to need some silencing
  • It’s kitted out for silence – rubber grommets for drives, quiet low-RPM fans, 3-ply sidewalls, etc
  • I knew I’d be taking pictures of it for my web site (and thus, expensing the project. Woohoo, business tax deductions!)
  • It’s a little smaller than typical noise-reducing cases
  • Because I like nice stuff. Seriously, is that so wrong? This whole project cost me under $800 out of pocket. Who cares if I splurged $200 on a case and power supply? If I wanted an ugly computer I’d go buy one.

In the picture here, the Antec still has a plastic sheet covering its smooth charcoal exterior.  No, I’m not that annoying relative who leaves plastic covers on their furniture: I did take the plastic off once I’d gotten everything set up.

For power, I picked up an Antec BP550 (AntecNewegg) because, uh, well, it was the Newegg deal of the day for almost half off.  It wasn’t my first choice, but it looked pretty quiet.  It’s no longer on sale, so if you’re going to choose from scratch, check out Anandtech’s reviews of 300w-450w power supplies and 500w-550w power supplies.  They do a good job of evaluating power supplies by noise and efficiency.

To cool the CPU, I was originally just going to use the stock heatsink/fan that comes with the Intel CPU.  The stock heatsink/fan combo is currently on FrostyTech’s Top 10 Heatsinks list in the low-noise category.  However, I’m one of the clumsiest people on the earth, and in the process of installing the CPU fan, the crappy pushpin mounting system broke on me.  I get the feeling the pushpin mounting system was designed by an accountant to save costs.  No engineer in his right mind would design this setup.  Nobody had a set of replacement pins in stock locally, so as long as I was placing an order anyway….

I got the Xigmatek HDT-S1283 (XigmatekNeweggReview) because it struck the best balance between several factors:

  • Good cooling – reviews show that it does a great job of shedding heat on overclocked CPUs. I’m not going to overclock (although I will do it briefly to see how it performs.)
  • Low noise – because the heatsink alone cools well, it doesn’t require a fast fan.
  • Tight space – some CPU heatsinks out there are absolutely massive. Check out a picture of FrostyTech’s #1 rated low-noise heatsink.
  • Low price – it’s under $40.  If you’re like me, that sounds like a heck of a lot of money for a heatsink and fan, but in the overclocking world, this is still pretty cheap.

I also paid a little extra for a screw-in mounting kit instead of the crappy pushpins.  Be aware that a screw-in mounting kit, while more secure for big heavy heat sinks, bolts onto both sides of the motherboard.  If your motherboard is already in your PC case, you’ll need to remove it completely in order to use a screw-in heatsink mounting kit.

Another wise investment might be replacing the Xigmatek’s included fan with a quieter one, but Antec threw in an extra 120mm quiet fan for my case, so I used that one.  (They don’t include an extra fan with all cases.)

Silicone Grommet Drive Mount

Silicone Grommet Drive Mount

Putting the Parts Together

The hard drives are fastened in with screws and nifty silicone grommets that isolate vibration as shown here.  The drive (A) floats on top of a silicone grommet.  The grommet itself (B) is a little rubbery sponge, and it’s held in suspension with an extended screw (C).  Antec includes specific instructions warning the user not to overtighten the screws, because that would negate the advantage of the silicone grommets.

I might be easy to please, but I was tickled pink with this approach.  When I turned on the system for the first time, I could definitely tell that the drives were quieter than with a conventional case.

Power Supply Chamber

Power Supply Chamber

The power supply has a separate chamber at the bottom of the case as shown here.  Theoretically, the power supply will draw in its own fresh air from the bottom of the case, where Antec designed a vent covered with a washable filter.  The power supply’s hot exhaust air is sent out of the back of the case, and all of its heat is kept away from the rest of the heat-sensitive gear by a metal wall.  Cables can be routed up from the power supply chamber through a sliding window, or through the back side of the case under the motherboard.

The CPU, drives and memory generate their own heat, and Antec handles that with a ginormous 240mm fan at the top of the case and a 120mm fan at the back.  These fans draw fresh air from the front of the case, through the hard drives, and out the top & back of the case.  The fans are huge, but they’re designed to spin slowly, thereby moving a lot of air without making a lot of noise and vibration.

This design works well in combination with the Xigmatek HDT-S1283 CPU heatsink: the Xigmatek ends up aligned with the exhaust fan.  I bet I could run without a fan on the Xigmatek at all.

All of this airflow design only works if the airflow isn’t blocked by a mess of cables, so the Antec Mini P180 is designed so that cables are routed through the back side of the case, underneath the motherboard.  This area is just deep enough to handle plastic cables like SATA power plugs, but not much more than that.  I had to wiggle and squish the cables flat in order to get the doors closed.  If you plan on frequently changing motherboards, this is not the case for you.

Close Call - Memory Hits the Hard Drive

Close Call - Memory Hits the Hard Drive

The Antec Mini P180 is a little smaller than conventional noise-reducing cases, so some of my buying decisions came back to haunt me.  For example, the GeIL memory sticks have built-in heat sinks and they’re taller than conventional memory sticks.  They came perilously close to my hard drives, close enough that I had to reroute the SATA and power cables to get it all to fit.  If I were to do the whole thing over again, I might have gone with a full-sized Antec P182 (AntecReview) to get more wiggle room.

The End Result: A Quiet (not Silent) PC

When I first turned the PC on, I breathed a sigh of relief. I could still hear the fans barely whirring, but when I put the case under my desk, the noise was almost inaudible.  The power supply, even though it wasn’t marketed as a quiet model, was still more than good enough.

The Xigmatek’s stock fan was the loudest part of my setup, and I would recommend replacing it with a quieter 120mm fan like I did.

While installing Windows, despite four SATA drives busily scratching away in a RAID 10 config, I could only hear occasional noises – not the loud, steady mechanical seek noises I heard from them in another desktop.  The combination of the noise isolating grommets and closed case doors really made a difference.  Even with the case doors open, the noise was completely tolerable.

Bottom line: the case, power supply, and CPU heatsink made my fast PC almost as quiet as my relatively slow Macbook Pro.  Now if only it ran OSX….

You can view more pictures of my quiet PC on Flickr.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Book Review: The Whuffie Factor

You, dear reader, probably don’t work in the marketing department.  The vast majority of my readers are information technology professionals, and the rest are my family.  (Hi, Mom!)

brent-ozar-on-twitterToday, you can’t get a job like mine without knowing how whuffie works.

In the not-too-distant future, you may not even be able to get a job like yours, or at least the job you want next, without knowing how whuffie works.

The Whuffie Factor

The Whuffie Factor

What Is Whuffie?

Whuffie is slang for social capital: your reputation, your credibility, your personal bankability.  It’s not as simple as the number of followers you have on Twitter, because that doesn’t necessarily indicate your trustworthiness – there’s plenty of spammers who’ve mastered the art of the followback.  It’s not as simple as the number of posts you’ve made on a forum somewhere, because that just indicates you’re really good at clicking the Submit button.

I first learned about whuffie a few years ago when I started playing with Flock, a web browser with social networking built in.  The people behind Flock were building a really cool product, and they were building it in an open way that involved their user community.  I was dumbfounded by this ability to interact directly with the developers.  I’ve never been one to file software bug reports because as a developer, I felt that most bug reports went unanswered.  Companies didn’t have the resources to fix bugs – they just wanted to push products.  I saw the way the Flock guys got so involved with their users, though, so I took the plunge and filed my first bug report.

I don’t remember whether or not they fixed the bug, but I remember that they interacted with me in a positive way, which encouraged me to file more bug reports.  I wasn’t building a mental image of a buggy browser, though – I was building a mental image of guys who genuinely cared about what they were doing and cared about their users.  This was completely different than any other online software experience that I’d had, and I found myself getting more and more involved.  I had to find out why these folks were acting this way, because it wasn’t a natural frame of mind for a software developer to react positively to bug reports.

Enter Tara Hunt

Among the many interesting people working in proximity to the Flock phenomenon, I ran across Tara Hunt’s blog at HorsePigCow.com.  She blogged about marketing and made me look at it in new ways that I’d never considered.  Marketing wasn’t just a bunch of sexist guys designing magazine ads of barely-clothed women holding their product in provocative positions.  Marketing meant understanding that places like forums, web sites and Twitter are, as The Whuffie Factor explains:

“…a simple but powerful online community where thousands of buying decisions are made every single day.”

This message isn’t just for companies: it’s for employees.  Every time you interact with another member of a community, whether you’re doing something good or not so good, you’re affecting your social capital.   Social networking transactions don’t happen in a vacuum, either – bystanders notice your actions, and even if they’re not involved with what you’re doing, they make buying decisions based on your actions.

“Who cares,” you ask, “if I’m not selling a product?”  Even if you’re not working a street corner, you’re selling yourself.  Future employers, future clients, and future coworkers are taking stock of your every action.

Why Whuffie Matters for Employees Too

I used to be a SQL Server database administrator.  As I got more involved with the Flock community, I realized that I had to be missing something.  There had to be a similar community for SQL Server, and I had to get involved with it.  I found PASS, attended my first conference, and started focusing my spare time on the community.  Tara’s book didn’t exist yet, so I read her blog, watched what the Flock team did, and tried to apply their techniques to my own work.  I made mistakes – and still do – but you have the advantage of this book to help guide you along the way.

The Whuffie Factor demystifies the workings of social capital and marketing, and these explanations work great for IT geeks.  Let’s face it: we suck at networking, and we suck at marketing.  We need all the help we can get.  This book is the help, and we don’t need a marketing background to understand how it applies to us.

The chapter “Become a Part of the Community You Serve” and the book’s repeated message about turning the bullhorn around especially resonate with me, and it illustrates the problems with so many IT communities.  Tara discusses how she worked with a web site to throw away their imaginary user profiles and connect directly with several real users instead using their own product.  They became more and more intertwined with their own customers, and as a result, built better products.  I’ve learned these lessons personally at Quest, and I found myself nodding over and over – and not because I was going to sleep.

Throughout the book, Tara gives simple, straightforward explanations of how to get whuffie, what happens if you do it right, and what happens if you do it wrong.

Whuffie is Easy to Get, but Much Easier to Lose

Companies don’t run around bragging about that time when they completely borked their online marketing strategy and pissed off thousands of customers.  They bury those stories as deep as they can.  The Whuffie Factor includes some of these cautionary tales, like the times when Wal-Mart tried influencing social networks with ill-advised stunts.

History continues to repeat itself, too.  In chapter 4, “Building Whuffie by Listening to and Integrating Feedback”, Tara tells the story of when Facebook launched feeds and alienated its users.  Facebook has shown time and again that if you don’t follow the lessons in the book, your reputation will be tarnished.  Reading The Whuffie Factor is a lot more effective than making these expensive mistakes in public.

When you do make mistakes in public – everybody does it sooner or later – the chapter “Embrace the Chaos” talks about how to handle it.  Part of me wonders why everybody doesn’t know this stuff innately, but watching some social networkers in action, it’s obvious that they don’t.  Whether you’re a company or an individual IT worker, knowing how to handle your public failures is a valuable lesson that by itself is worth the price of the book.

My Favorite Quote

My favorite quote from the book, and the one that sums up why even employees need to read it, is:

“You can’t eat whuffie, but it’s getting harder to eat without it.”

I know some of my readers already believe in the power of this fancy internet community thing because I interact with them on Twitter, Facebook, and so on.  At the same time, I know a lot of you haven’t bought into it yet because my blog readership dwarfs the Twitter numbers.  If you’re one of the masses who reads blogs but doesn’t do social networking yet, do yourself a favor and get this book.

Buy The Whuffie Factor on Amazon

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Book Review: SQL Server 2008 Query Performance Tuning Distilled

My gauge of an amazing book is simple: if I’ve got a question, and I reach for the book BEFORE I search the web, then it’s an amazing book.

Several times in the last two weeks, I reached for this book first.

The Book’s Audience: Database Developers and Performance Tuners

SQL Server 2008 Query Performance Tuning Distilled

SQL Server 2008 Query Performance Tuning Distilled

This book is for people who:

  • Spend ten hours or more a week asking themselves, “How can I make this application run faster?”
  • Have the ability to change the database schema or queries
  • Know T-SQL well enough to get the data results they want (but not necessarily the fastest way to get those results)

This book is not for people who:

  • Ask themselves, “How can I make this server run faster?”
  • Don’t have the ability to change schema or code (for example, people managing third-party apps from vendors or consultants)

Notice that neither of these categories drew a line between developer or DBA.  I’ve worked with developers who knew how to query SQL Server to get the data, and their applications worked great – but just not as fast as they’d like.  They’re going to love this book.

What Query Performance Tuning Means

Query performance tuning is the art of reading a query’s execution plan, figuring out why it’s not fast, and then determining the most cost-effective way to make it faster.  Anybody can throw more indexes in and just hope it speeds up, but as the book illustrates, sometimes that can hurt more than help.

To do a good job, the tuner needs to know about indexing, statistics, execution plans, compilations, blocking, deadlocks, and query design issues that can force a query to perform poorly.  Some of this stuff is covered in abstract terms in college classes, but for the most part, all of us – developers, DBAs, sysadmins – are pretty much unprepared to guess what’s going on inside the SQL Server engine.

When you first design and deploy an application, that’s a great thing: you don’t need to know what’s going on inside the black box.  SQL Server handles a lot of load with the default settings, with pretty much any application design, before things start to creak and groan.  I’ve seen people build amazingly big SQL Server applications without any knowledge of how indexes or execution plans work.  True story: I walked into one shop to help with a performance problem, and the database administrator didn’t know that a table could have more than one index.  For the most part, their servers were still performing within their needs – but of course, we achieved some fantastic results with some simple performance tuning.  That DBA – and frankly, all of us – would have benefitted from a copy of this book.

Appropriate for Both Junior and Senior Levels

If you fall into this performance tuner target audience, regardless of your seniority level, you’re going to find this book’s price an extremely worthwhile investment. The book’s authors, Grant Fritchey and Sajal Dam, strike a great balance between bringing you up to speed versus diving into advanced concepts.

Chapter 4 on Index Analysis is a great example.  It spends the first few pages bringing the beginners up to speed on what an index is and how B-trees work.  Then it gradually layers on an explanation of how you would approach index design and why the width of your index matters.  The explanation includes queries that prove the concepts, with screenshots of results where appropriate.  The discussion ramps up to more advanced topics like covering indexes, filtered indexes, and compression.

When I talk about index tuning to groups of DBAs, the discussion inevitably turns to statistics – and sure enough, the book starts covering those a couple of chapters later.  I really like the organization of this book because it progresses in the same way that I’d recommend training for a performance tuner.  If you need to make an application run faster, read the book in order.  Don’t be tempted to jump to, say, execution plan analysis – you’ll make poor decisions without understanding the concepts discussed earlier.

I’ve been performance tuning applications for years, trying to wring every last dollar’s worth out of my hardware to make our applications run faster, and I keep learning things as I go through this book.  Normally, I try to read the entire book cover to cover before posting a review, but in this case, it’s going to be quite a while before I finish the book.  I just keep reading a chapter, catching enough things I didn’t know before, and then stopping to apply that knowledge and test it out in my lab.  I highly recommend it.

You can buy SQL Server 2008 Query Performance Distilled from Amazon, and there’s a Kindle version too.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Twitter client comparison: TweetDeck, Seesmic and Orsiso

There’s no one perfect Twitter client yet, but there’s three pretty good cross-platform Twitter clients: TweetDeck, Seesmic Desktop and Orsiso.  I recorded a ten-minute video review of all three today on my lunch break:

[playlist id=2]

If you’re reading this post in an RSS reader, you can view the Twitter client review video on my site.  The clients in the video are:

TweetDeck Review

TweetDeck is a column-oriented client: users organize content in columns.  On my machine, I’ve got columns for:

  • All Users (which really just means the people I’m following)
  • Replies
  • A public search for SQLServerPedia (so anytime somebody mentions it, I get an alert.  I have a few of these types of search columns.)
  • Direct Messages
  • Facebook – and that’s where things start to get interesting.

TweetDeck can show your Facebook friends’ statuses in a column, and you can update Facebook from inside TweetDeck.  Nifty.

Seesmic Desktop Review

Seesmic Desktop is a newer column-oriented client very similar to TweetDeck.  In most ways, it’s pretty similar to TweetDeck.  Unfortunately, it’s brand spankin’ new, and it doesn’t have Facebook support.

OrSiSo Review

Orsiso looks totally different because it doesn’t do the column-oriented display format.  Instead, it focuses on circles of friends: your inner circle, your 2nd layer circle, 3rd, and 4th.  You can use these to separate friends, family, work, play, whatever.

Even better, you can track your friends across Twitter, FaceBook, Flickr, instant messaging, LinkedIn, and more.  One client to rule them all, I suppose.

It’s not all roses and chocolate: like the other two apps, it’s built with Adobe Air, which is roughly akin to saying it’s like Java only without the speed.  It works on any platform, but it’s deathly slow.

So What’s the Best Twitter Client?

I’m taking a two-pronged approach: I fire up Orsiso in the morning to see what my inner circle was up to overnight.  That way I can make sure I didn’t miss any of their updates, no matter what social network it was on.  Then I close Orsiso and stick with a more flexible column-based client through the rest of the day to get the search features.

More Articles: How to Pick People to Follow on Twitter

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts