ENTERPRISE

Bring Your Own Confusion (Part 2)

12/8/2012 3:29:39 PM

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?

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

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

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?

Other  
 
Most View
Oracle Database 11g : Database Fundamentals - Work with Object and System Privileges, Introduce Yourself to the Grid
In-Win G7 Black Windowed Mid-Tower Case
Generation I (For Insecure)?
Adobe After Effects CS5 : Animating Text - Creating and formatting point text
SQL Server 2008 : Common performance problems (part 2)
Sweet 660 Ti DrectCU II TCP
Samsung DA-E750 – A Good Speaker Dock-Cum-Soundbar
Marantz SR7007 AV Receiver - Unique Technologies, Elegant Appearance
MySQL for Python : Creating Users and Granting Access - Removing users in MySQL, DROPping users in Python, Granting access in Python
Choosing The Right Components (Part 1)
Top 10
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 9) - Configuring WMI filtering
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 8) - Managing GPO links, Configuring security filtering
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 7) - Viewing infrastructure status, Creating GPOs
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 6) - Advanced Audit Policy Configuration
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 5) - User Rights Assignment, Security Options
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 4) - Refreshing Group Policy
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 3) - Configuring a central store, Using Starter GPOs
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 2) - Group Policy and Active Directory design
Windows Server 2012 : Planning, implementing, and managing Group Policy (part 1) - Understanding policies vs. preferences
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 5) - Monitoring system resources by using Performance Monitor