it seems that whenever I change jobs, I take the time to upgrade my computing environment.
Back in the summer of 2005, I "upgraded" from a Sony Vaio laptop, to a DELL Precision 670 tower (bi-Xeon processor, 3GB RAM) with 2 x 24" DVI screens (good enough to display 1080p). (I refurbished this machine the other day with a new 54Mb/s wireless card and a new 22x DVD read/write player, all for less than 40 euros :) I tried upgrading it also to Windows 7, but it wouldn't recognize the motherboard's host RAID controller (not even with Vista drivers), hence I had to downgrade to a 2002 operating system :( : WindowsXP SP2 ...) It's running now as a media center for the kids with Boxee.)
In the past few days, I've been looking at ways to upgrade my Mac Pro (1st generation, late 2006). I use it mainly as a web surfing machine (+ tons of open apps at the same time, such as Spotify, word, excel, and so forth). I also use it to control my almost 10 TB of data (video, music, pictures), that I manage essentially with boxee.tv, iTunes and Aperture3 respectively. The machine is shared over wifi with a number of devices including my laptop, appleTV, and so forth.
The machine was getting a bit sluggish, and I needed to do something about it, as I've been adding external hard disks along the way of all kinds, mainly from LaCie (BiggerDisk 1.2TB, BiggerDisk 2TB, Quadra 2TB, Quadra v2 2TB). Of course I started by using external USB 2.0 a few years ago, then going for Firewire 400, and finally Firewire 800. Keeping performance on your computer isn't something you do all the time, and I made a few mistakes trying to upgrade the machine.
- didn't add enough RAM : I kept it at 4GB for a long time, getting it up to 8 GB only a couple months ago. I just added 4 more GB today bringing it up to 12 GB (2GB compatible modules from Kingston or MacWay). You can check on Activity Monitor how busy your machine gets, and whether it needs more RAM or not
- I mixed connectors to external hard disks of different capacities and brands, and got very very poor transfer speeds. After some research online, this is the order you should respect : always go for the fastest connector on the device in this order : eSata (3000 Mb/s), Firewire 800 (800Mb/s max theoretical speed), Firewire 400 (400 Mb/s), USB 2.0 (although theoretically at 480 Mb/s, it runs slower than FW400). By the way, the MacPro doesn't have an eSata connector by default. Hence I did run into problems :
a) some disks wouldn't appear on the finder when they were all hooked together in FW800 ; somewhere I read that although Firewire supports up to 63 devices, the total length of cables can be only 15 feet without repeaters :keep this in mind. Your MacPro has 2 FW800 ports, one in the rear, one in front. Create 2 separate chains for best performance.
b) my LaCie eSata PCIe cards have drivers dating back to 2008. I'm pretty sure they are not really compatible with SnowLeopard (I wrote to LaCie's support about this : no proper reply). I would get kernel crashes whenever I tried something complicated, such as setting up a RAID 1 (mirror) with 2 disks, but none with simple read or write operations. And throughput seems to be shared by the 2 ports on those cheap cards, basically halving them. Finally, I had to go back to FW800. You can get a better card (more expensive), or go cheap with a motherboard hack with a connector. I did that today, works great. There's more discussion here.
c) I almost lost 10 years of photography and video editing when 2 LaCie drives starting reporting problems. I managed to rescue 100% of 2 disks just by changing the power supply for a new one. simple solution ! (and I had lost many DAYS trying to deal with the disks in other manners...). I still have a problem on a faulty 3rd drive. Even Data Rescue 3 couldn't salvage it all. So I first tried a simple technique : double all disks with mirroring (RAID 1 using Apple RAID). It worked somehow, but at a big cost (double the number of LaCie drives, with gazillion power supplies under my desk); and somehow everyday there seems to be a RAID slice that needs rebuilding. So the solution here was to go for not only uniformity in disk capacities, brand, setups, but also to try to solve the speed clog. I settled today for a RAID 0 stripe on 4 internal disks (best choice is Hitachi 7K2000 - more discussion here): I bought an extra spare one just in case I don't find one in the future and in case one of the disks fails. Performance-wise, I tried a few benchmarks with xbench and Drive Genius 2. Even though they might not be the best tool to measure accurately the throughput, they measure it relatively. I tested my previous internal disk, the new disks separately (2-3x better), and a RAID 0 stripe on 4 disks (5-10x the performance !) :) The speed boost comes from a combination i. uniformity of the disks ii. 7200rpm iii. large capacity so faster on the edge iv. eSata connector instead of FW800 v. RAID 0 stripe vi. getting the best disks on the consumer market in terms of performance
To simplify things, I just grabbed my former internal boot disk, hooked it in an external enclosure with eSata, and booted off with my 4 new internal disks. I might optimize the boot disk in the future (new disk, clean OSX setup). I'm currently transferring my data to the internal stripe, and will then set up an external (using the former LaCie disks) stripe with Time Machine (what I really need is data reliability, not 100% up time, hence the mirror (RAID 1) was an overkill); I'll also work out a routine for offsite backup for my most crucial data (pix, and family videos). More on this maybe later.
So, that's work in progress, but my MacPro feels definitively more reliable already (no more LaCie problems... :), and much much faster. I'll be serene though when my external TimeMachine setup is done, and when I'll have done my first external full backup. I might also set up an Aperture3 vault on external disks as well.
Again, I almost lost all my multimedia and personal data. This makes you realize that a few extra bucks in your system are worth every penny in case of a disaster (I bumped into an old friend today on the street; he told me how his house was broken in last year, and how they had stolen his computer + BACKUPS !!!).
Going though this upgrade exercise, I jolted down a few points :
- there's really no point in buying high-end from Apple (AppleStore or online); make sure you get the computer you like (MacPro or Macbook pro) with the MINIMUM hard disk size and memory size. You can then upgrade both components yourself quickly with third party reliable parts ; tons of money to be saved here. You can buy refurbished or second hand a recent model (not the latest one) at a great discount also and then refurbish it yourself with fast components.
Example: if you get on the Apple Store a new MacPro (the cheapest one), it comes with 3x1 GB and a 640GB 7200rpm disk. Price is 2299 eur with tax. Getting the same machine up to 4x4GB RAM and 4x2TB disks would cost total of 5764 eur, ie 3.465 euros more ! oups ! Adding the memory yourself would be 4x179eur= 716eur. Adding the disks yourself, would be 4x135 eur = 540 eur. There you've just saved 2,209 euros for the SAME configuration, even having 3 GB spare and a 640GB spare (you can boot off with it in an external enclosure for less than 100 eur!).
- there's no point either in buying branded enclosures for disks (like LaCie); you're paying more or less double. Get an external enclosure, and the best disk you can. Always go 7200rpm instead of 5400rpm. Try to get the max capacity always even you're not planning to use it. This has to do with mechanics. Speed tends to decrease mechanically as drives fill up. I discovered this by reading this report. I also tested it with xbench, by partioning the disks differently : the closer to the center, the slower, period. Also go internal always before going external on a MacPro. I wonder why I never realized this. There are plenty of videos on Youtube showing you how easy it is to upgrade your drives. It's a bit geeky at first, but very very easy to do.
- HFS+ filesystem seems to be the norm (although from 1998!). I couldn't find a good discussion relating to performance regarding case sensitivity or not (HFSX), and journaled or not. I opted for journaled.
- I couldn't find a way to change (although there seems to be a command line command) block size on disks. It defaults at 4K. RAID 1 configs (mirrors) allow you to change the RAID block size (64K seems a good compromise), although I couldn't find it for stripped disks (RAID 0).
- I almost bought a "better" RAID software from SoftRAID, based on reviews; but decided in the end not to, as my RAID 0 setup is simple enough to manage with Apple's Software, and I don't look forward to OSX 10.7 being not compatible with my disks (SoftRAID are said to be great engineers, but they come out LATE to market with updates). More discussion here and here.
Any other trick I missed ? Anything you'd like to share as well in the comments ?