1 of 2
QBWin Performance Measures
2 of 2
Windows Task Manager
All too often QuickBooks ProAdvisors are called to 'evaluate' and 'fix' problems with QuickBooks performance. A multitude of things can cause performance problems, and of course, users have their own 'definitions' for what they think is 'poor performance'. Performance issues range from Network problems, to Server issues, QuickBooks application problems, and yes, User issues. The Company data-file can be one source of performance issues, and the operating environment (computer equipment) can also be the cause of poor performance.
Diagnosing performance problems can be complex or simple. You might find that a network hub is going bad, or that someone is attempting to use QuickBooks on an undersized computer that is already taxed by too little resources. On the other hand, you may be forced to perform complex evaluation procedures to determine the source of bottlenecks or application related problems. This article is the first covering various procedures for evaluating and improving QuickBooks performance.
The 'new' QBWin.log file
There is more to the QBWin.log file than just the Verify and Rebuild utility results. Recently Intuit began releasing QuickBooks ‘maintenance updates’ that are improving and supplementing the information contained within these log files. This could be the result of Intuit developing an understanding that more and more QuickBooks ProAdvisors are reading and interpreting these logs when QuickBooks crashes, the Verify Fails, or the Rebuild doesn’t resolve a problem.
A QBWin.log file is generated each time QuickBooks is started. While the log file was initially intended to be viewed (and perhaps emailed) to Intuit Technical Support personnel to assist them in diagnosing problems or data-issues, it is growing useful for a number of other purposes as well. For years information recorded in the log was cryptic and required knowledge of C++ and Sybase error codes, even such knowledge did not assure a complete understanding since Intuit formulated many of their own error codes.
Over the last several years Intuit started improving the quality, quantity and access to technical support documents built around error messages within the QBWin.log file. New KBA (knowledge based articles) are being added all the time to deal with problems, and Intuit has in fact started posting ‘we don’t know, but we will let you know, when we do’ KBAs. Every once in a while I get an email notice that a revised KBA has been posted on a specific topic.
One of the improvements that Intuit has made to the QBWin.log is better event tracking, and performance measures, associated with user operations. The excerpt from a QBWin.log shown in the headline illustration of this article contains some of the Performance Measures I am talking about.
How many times has a client called you up and told you that they log-into QuickBooks and “it takes 5 minutes for the Home Page to load”? You are absolutely confident that they are exaggerating but you don’t have any way other than to either log-in remotely or go out to their office to have this demonstrated.
If you can access the QBWin.log for that user at the time of the ‘supposed’ lengthy wait, you can probably ascertain the actual ‘performance data’. You may have to do some ‘searching’ but you should be able to isolate the time from the program load to the home page load. When you show this to the client they will probably remember that they left their computer to get a cup of coffee or go for a smoke break in lieu of actually taking 5 minutes.
Of course a number of factors on the local computer can impact such performance times; memory available, number of other programs running, processor capabilities, etc. If the complaint concerns the loading of specific data, such as a report or ‘center display’ then the network speed, QB Database server memory settings, and server disk performance can be the source of bottlenecks.
When QuickBooks Is Not Responding
Another example of where this log, and other computer resources maybe handy, is when a client reports that “QuickBooks (Is Not Responding). Sometimes a modal status dialog with a process bar may appear to hang and/or “Not responding” is appended to the QuickBooks title bar. The results when QuickBooks is too busy with what it is doing to respond to the almost constant inquiries from Windows (especially Windows 7 and 8) to check if QuickBooks is alive. If QuickBooks doesn’t respond to one of these inquiries within a specified number of milliseconds, Windows assumes the program has stopped running despite the fact that Windows performance measures clearly show normal operations are continuing.
Users should NOT kill QuickBooks simply because Not Responding appears, or even if the screen appears to ‘wash-out’, chances are QuickBooks is still very much at work. In order to check this out, open the Windows Task Manager, yes I know the Application Tab will also show that QuickBooks is Not Responding, but that isn’t the tab we are interested in.
Click on the Processes tab (as shown in Headline Figure 2 above), and scroll down to the QB-related processes (Image Names), look for the QBW32.exe process that is running, and also the QBDBMgr.exe (or QBDBMgrN.exe) process that is running. You need to change the columns in the display by selecting the View menu. You want to be sure you are looking at CPU, Working Set Memory, Peak Working Set Memory and I/O Read Bytes, I/O Write Bytes and I/O Other Bytes. While CPU values may appear to stick at one value for several seconds, watch carefully for I/O activities. Typically you will see I/O exchanges between the QBW32 and QBDBMgr processes, one will be reading and the other writing, or one will be performing ‘other’ I/O activities. As long as activity is taking place in these columns for those applications, your QuickBooks is running.
If your QuickBooks file is on a server, you may not see either the QBDBMgr or QBDBMgrN processes in your list, unless QuickBooks is in Single-user mode. In single-user mode you will normally see the QBDBMgr process, but in multi-user mode the QBDBMgrN process will be running on the server.
In a future article we will look at additional resources and procedures for diagnosing and improving QuickBooks performance issues.