64-bit blues
I haven’t forgotten those poor, rejected,
self-build PCs. Gigabyte and Asus, you can relax, because I’ve uncovered the
two reasons why these machines were dumped as unusably slow: one they shared
with the VAIOs, while the other was an unexpected side effect of what seemed a
routine hardware configuration decision. The first problem was with Windows 7
64-bit (actually, any 64-bit Windows version) namely, that Microsoft has been
far too lenient about what it permits to be installed and run in the 64-bit
environment. This used to be a rarefied problem affecting only server-side
wonks like me (see Bracketed exposure, p100), but sadly many home users and
BYOC naifs are now sold 64-bit licences because “it’s gotta be better, innit.
It’s got more bits”.
Should
You Install Windows 7 32-bit or 64-bit?
My client’s VAIOs were all running a 2011
release of a 32-bit antivirus product, and being IMAP mail users they’d ticked
all the boxes in this 32-bit antivirus to turn on Outlook integration, but
hadn’t un-ticked any of the boxes for real-time scanning. As a result, disk
access workloads were a nightmarish mishmash of 32 and 64-bit code, patches,
thunks and library routines, with at least one half way house IMAP send/receive
file getting scanned assiduously four times for every send/receive cycle by
different parts of the antivirus program. There should have been a blizzard of
errors and warnings from all the participating products but no, on the surface
the machines just appeared slow.
To my amazement, this antivirus product
(which, since it was out of date, it would be unfair to identify) didn’t offer
any option to exclude particular directory trees from on-access scanning –
scanning was only by file type or everything. While my client works out what to
do with the expensive corporate antivirus licence it bought, and the
server-based update distribution infrastructure, I’ve put the real 64-bit
version of Microsoft Security Essentials in place, because it’s a well-behaved
64-bit add-on and because it does allow you to nominate directory trees to be
skipped in the more paranoid protection modes.
The other problem crippling the self-build
PCs was that the boot drives were mirrored, using the hardware features of the
on motherboard SATA RAID chipsets. My first clue that this might be the source
of the problem was an aside from a techie, that whenever they actually have a
mirror fail it takes more than a few hours to rebuild whereas by contrast,
Acronis could mirror the whole drive in 15-25 minutes, depending on the space
used.
By examining the Windows Disk Management
and the Intel Rapid Storage Technology tray monitor, it became clear that in
effect these mirrored C drive partitions were treating one drive as a primary
store while leaving an exceedingly slow motherboard chipset’s dedicated CPU to
sync the secondary drive by continually re-mirroring it. So your 2KB file would
get written to the primary drive, then get swept up by a periodic re-mirror
process and read back, and finally written to the secondary. There was never a
time reached when the volume was actually marked as “in sync”. On a C drive
full of temporary files, page files, System Restore repository and so on, such
architecture had a disastrous, truly awful effect on performance.
Accessing
Disk Management
Mirroring works well enough on a $600 RAID
card with battery backed cache memory and a fast, dedicated CPU, but it’s a
poor solution when implemented with less capable hardware. To demonstrate the
point, I set up one of the machines with a stripe instead of a mirror. On paper
you’d expect this to be four times faster since it doubles the throughput rate,
which is halved by a mirror – but actually it was more like seven times faster, because the
stripe prevents all that primary/secondary churning. Everything that arrives at
the controller is just split in half and written simultaneously. I suspect that
Asus and Gigabyte (and many others) expect users to be more interested in
stripes than mirrors.
Let’s not get hypercritical, though, or at
least let’s make sure blame is apportioned fairly. I’m sure there are other
VAIO models more suitable for nontechnical business users to throw around an
office, and equally sure that some of the problem lies in my client’s Wi-Fi
basestation. My client had walked into a retail operation that took no
responsibility for long-term suitability for its technical environment (which
nobody even discussed), and was sold the item of stock with the best retail
margin. BYOC at this level becomes an adventure course in painful discovery for
the users, while offering us poor put-upon nerds the chance to relaunch and
redefine what it means to be “an IT professional”.
In the case of the laptop purchases, no
statement of needs versus costs had been made in advance, and the price
difference between a $598.5 home laptop and an $1348.5 business machine was
assumed to be just “flim flam” (actually, a stronger word was used). My client
sincerely believed that designers of expensive machinery are morally bankrupt
price-gougers, while the young chap in the retail park with a load of stock to
shift before the end of the week was some kind of saint.
I guess I shouldn’t really be complaining
since I’ve so far charged the client about three times what it saved to sort
out the shortcomings of these cheap machines, and that money has gone straight
into my pocket rather than into Sony’s.
Bracketed exposure
Please don’t tell anyone how long it took
me to sort this one out. I’m a self-professed fan of Lotus Notes, but
increasingly people look on me with patience and pity, ignore my protests about
the longevity of both the product and the messages it holds, and prefer instead
to condemn everything it does as irritating or wilfully perverse. It’s a good
email system, and I especially like the way the server-side mail databases are
only files, and so can be directly copied via Windows down onto a client PC, a
laptop, or another server, without any arcane utilities, weird limitations or
nail-biting export procedures. Most of the Notes servers I look after are
blasting along at almost 100% capacity all the time, because their users have
figured out how reliable they are, so upgrading one to 64-bit Windows was a
no-brainer when it came to the project authorisation meeting.
Unfortunately, the process didn’t prove
quite so simple once I sat down to give it a try. The host platform is a large
but antediluvian 64-bit Windows Server 2003 machine, released from its previous
duties, tuned and cleaned up by yours truly. What the hell, I thought: it has a
lot of RAM and some disks, so how hard can it be? It was a humble bracket that
did me in. When you install a 32-bit application onto a 64-bit OS, everything
about that application goes into a path that reads “Program Files (x86)”, as if
by magic.
Windows
Server 2003 64bit Enterprise Edition
This is supposed to be totally transparent
you can refer to that path and it will all just work, or you can ignore it and
32-bit programs will end up in there all the same. In the case of my Domino
Server install, though, I got a path with one of those brackets in it but not
the other, so my server’s Path environment variable ended in “Program
Files(x86”. This looked like a typo and I treated it as such for far too long,
but like many reserved parts of the Windows directory tree on servers or
workstations, it isn’t actually a typed field at all and can’t be edited the
OS, applications and calls to pick up files are sent to it “transparently”, at
least until something comes along without enough knowledge or forewarning of
64-bit, at which point an entirely separate directory, which really does exist
and that has only one bracket in its name, is created.
Whose responsibility is this: the app maker
(in this case, IBM) or Microsoft? I’d have to say that this time I’d put
Microsoft in the dock. Its decision to permit 32-bit installs by way of a
cunning hack, without checking for consequences or providing a suitable library
of supportive error messages, is a slap in the face for usability, and indeed
for BYOC initiatives, because it’s precisely this kind of arcane and obscure
knowledge that us IT types revel in.
You might want to argue that it’s a miracle
my install ran at all, and that finicky install processes and a tough road to
reach a stable config are what keep Linux out of the market that Windows has
made its own. Does anyone actually believe that voodoo superstition, random
rules of thumb about perceived speed, and games of hunt-thebracket are signs of
a well-structured, businesscritical software toolkit?