Skip to main content

Not quite ready for Twitter

It might be helpful to set a few expectations up front to Readers of this blog about what kind of blogging you can expect from me, with the added caveat that I believe such expectations are made to be broken...
As an adjunct to my day job as a software developer, I have written & published numerous articles on topics related to computer performance over the years. Since about 1996, I have been focused on Windows, so I was mainly writing and publishing articles on Windows performance and scalability topics. (If you are interested, many of these early articles are available on the DemandTech web site here: More concise answers written in response to FAQs are published here:  In the past, I often published similar material in industry newsletters, trade magazines, and in the official publications of the Computer Measurement Group, a professional association that I joined in 1983 and remained active in for years.  
With a colleague, Dr. Odysseus Pentakalos, I eventually organized these Windows articles into a book called Windows 2000 Performance Guide, published in 2002 by O’Reilly. (My editor at O’Reilly was responsible for the title, not me. That may have been the name of the book the publisher wished Odysseus and I had written.) I decided to write the book mainly because I discovered a shortage of solid, reliable guidance on performance topics for Microsoft Windows developers and system administrators as I began working to develop performance tools for that platform.
Later, and with the support and cooperation of the Microsoft Windows Server Performance team, I updated that original book to create a volume available in the official Windows Server 2003 Resource Kit, also entitled a Performance Guide, published in 2005 by Microsoft Press. Because the Win2K3 book was written with the active assistance of Microsoft and the material I wrote was vetted by members of the development staff, the 2nd book is certainly the more authoritative one of the two. It also benefitted from feedback I received from Readers of the 1st book and from attendees of a seminar I taught on Windows performance that covered much of the same ground as the books.
Today, that book on Windows Server 2003 performance (internally, Windows Server 2003 is Windows NT version 5.2) unquestionably needs updating to reflect changes to the Windows operating system since 2003. Advances in computer hardware over the interim also contribute to the need for a new edition. For instance, there is very little information in either of those books for systems professionals interested in the performance implications of
·         multi-core processors,
·         solid state disks,
·         virtualization,
·         cloud computing,
and a wide range of other “hot” topics of more recent vintage. Nor is there very much solid information in those books for computer professionals responsible for the scalability and performance of large scale web sites running on Windows Servers using technology associated with ASP.NET, Microsoft SQL Server, and the .NET Framework in general.
As it happens, these are some of the topics in computer performance that I have been actively investigating in the past 5-6 years or so since the publication of the Win2K3 book. I plan to use this blog to consolidate some of the material I have written since the Win2K3 book that I view as “work in progress” towards a next edition of the Windows Performance Guide, filling in some of the major gaps I mentioned earlier. I will also publish newer material based on current topics of interest to me.
Anticipating a question that arises frequently from fans of my two Windows Performance Guide books, I would like to explain that a complete and up-to-date revision requires both a willing publisher and enough spare cycles on my part to execute. Since I expect a willing publisher would not be too difficult to find, to be totally honest, what is lacking on my part is the time to execute on a thorough revision. The process of assembling and polishing a book for print is both grueling & time-consuming. Realistically, I don’t see it happening. So the best I can offer in the interim is this blog, where I will post on topics that are either missing from the book or need serious revisions in light of subsequent changes to the hardware and/or software.
A blog works for me. The phenomenon of self-publishing using the Internet is something I have gotten interested in, too, setting up and contributing to a team blog during my recent 4-year stint working at the Developer Division at Microsoft, and occasionally ghostwriting  an entry for one of the executives there to publish. You are not likely to discover a book that I might write in the check-out line of your local bookstore -- assuming you have a local book store; the rewards of writing such a book are certainly not financial. Visually, the blogging format is often less than adequate for the type of writing I do – I am hoping the latest version of Blogspot is more flexible.
I suppose I am not the normal blogger, attuned to the short attention span that characterizes most content on the web. If you care to check out at the team blog I started at Microsoft (for a representative example, see , you should get a good flavor of my blogging style. You can see that, as a writer, I am not quite ready for Twitter. I am more likely to publish a longer piece with considerable research behind it once every two months or so than something short and pithy three times a week. Whenever I have something substantial of chapter length ready to go, I will likely chop it into pieces of more convenient size for publishing it on the web and blog about it in installments.


Popular posts from this blog

How Windows performance counters are affected by running under VMware ESX

This post is a prequel to a recent one on correcting the Process(*)\% Processor Time counters on a Windows guest machine.

To assess the overall impact of the VMware virtualization environment on the accuracy of the performance measurements available for Windows guest machines, it is necessary to first understand how VMware affects the clocks and timers that are available on the guest machine. Basically, VMware virtualizes all calls made from the guest OS to hardware-based clock and timer services on the VMware Host. A VMware white paper entitled “Timekeeping in VMware Virtual Machines” contains an extended discussion of the clock and timer distortions that occur in Windows guest machines when there are virtual machine scheduling delays. These clock and timer services distortions, in turn, cause distortion among a considerably large set of Windows performance counters, depending on the specific type of performance counter. (The different types of performance counters are described here

“There’s a lot more to running a starship than answering a lot of fool questions.”

Continuing a series of blog posts on “expert” computer Performance rules, I am reminded of something Captain James T. Kirk, commander of the starship Enterprise, once said in an old Star Trek episode: “There’s a lot more to running a starship than answering a lot of fool questions.” Star Trek, The Original Series. Episode: The Deadly Years. Season 2, Episode 12. See For some reason, the idea that the rote application of some set of rules derived by a domain “expert” can suffice in computer performance analysis has great sway. At the risk of beating a dead horse, I want to highlight another example of a performance Rule you are likely to face, and, in the process, discuss why there is a whole lot more to applying it than might be obvious at first glance. There happens to be a lot more to computer performance analysis than the rote evaluation of some set of well-formed performance rules. It ought to be apparent by now that I …

Virtual memory management in VMware: memory ballooning

This is a continuation of a series of blog posts on VMware memory management. The previous post in the series is here.

Ballooning is a complicated topic, so bear with me if this post is much longer than the previous ones in this series.

As described earlier, VMware installs a balloon driver inside the guest OS and signals the driver to begin to “inflate” when it begins to encounter contention for machine memory, defined as the amount of free machine memory available for new guest machine allocation requests dropping below 6%. In the benchmark example I am discussing here, the Memory Usage counter rose to 98% allocation levels and remained there for duration of the test while all four virtual guest machines were active.

Figure 7, which shows the guest machine Memory Granted counter for each guest, with an overlay showing the value of the Memory State counter reported at the end of each one-minute measurement interval, should help to clarify the state of VMware memory-managemen…