QuickBooks Differential Diagnosis
We have looked at some generalities related to QuickBooks Performance, aspects of the Local Area Network when working in a multi-user configuration, and minimum and recommended equipment configurations for your computer hardware. Now we want to look at some basic principles that will help you differentiate the potential ‘bottlenecks’ associated with poor performance. Of course we need some specific method of evaluating performance; but before we discuss those methods, let’s look at what we really mean by a bottleneck, and for this purpose I am going to discuss different ‘human circulatory’ conditions.
If the right side of your heart is damaged in a heart attack, or has valve problems, or begins to fail it creates a ‘bottleneck’ slowing the normal flow of blood being returned from the body before it can be pumped out into the lungs. In this type of ‘bottleneck’, blood begins to build up in the body and frequently the legs swell with a form of ‘edema’. This is one of the ‘signs’ a physician looks for in helping to diagnose ‘right heart failure’.
On the other hand, if the left side of the heart is the source of damage, patients complain of ‘fatigue’ and inability to do things they use to be able to do, such as climb steps. The physician may notice that the patient appears to have blue lips or a gray hue, indicating a lack of oxygenated blood getting to the periphery. Upon listening to the chest, the lungs sound wet, and the patient may even have a ‘wet cough’. Shortness of breath is common. This patient’s blood pressure may also be extremely low. All of this is indicative of ‘left heart failure’. The bottleneck created by the left side of the heart’s inability to adequately pump the blood from the lungs out into the body is the cause of this form of heart failure.
Differential diagnosis of QuickBooks Performance is not too different from diagnosing the health of a patient (although your state medical board will think otherwise). As a ProAdvisor you are frequently called upon to diagnose where the bottlenecks are that are causing data to slow-down, become sluggish, and in severe cases (just like in heart failure) fail. With that understanding, let’s look how we can use standard ‘differential diagnostics’ to evaluate QuickBooks performance.
Typically the complaint that users give you is something like “QuickBooks is really running slow.” In medicine this would equate to what a physician calls “the Chief Complaint.” (Like when the patient tells the doctor that 'I just feel weak'.) But a physician doesn’t just stop with the Chief Complaint; he proceeds on during his consultation by determining three other specific areas for evaluation: the ‘medical history’, the ‘patient’s symptoms’, and the ‘measurable signs’ using a variety of tests. Medical history includes things like an underlying condition, like heart disease or diabetes. The patient’s symptoms might include ‘shortness of breath, dizziness upon exertion, or weakness’. Measurable signs might be a ‘pulse rate of 140 at rest’, and a ‘blood pressure of 80/40’; another sign might be “an EKG with an elevated S-T segment.” Physicians use all of this information to help them ‘differentially diagnose’ a patient’s condition.
So why shouldn't we apply the same ‘basic principles’ when evaluating QuickBooks Performance? Case in point: “QuickBooks is really running slow”. That is the Chief Complaint, but what about the history? Did this slowness start just recently or has it been this way for a few months? Are there any particular times when QuickBooks seems slower, such as when ‘everyone’ is logged in, or does it seem slow even if you are the only user? A sudden change might be signs of ‘data damage’, or a ‘failing network component’. When performance worsens as the number of users increase, it is almost always related to either server memory inadequacy, size of the data file (or companion .tlg file), or network incapacity.
Now that we have a little history to help guide us, what about those ‘symptoms’? Yes, I know, we will probably just get “well it just seems slower”, but now we must find out the specifics of ‘when’ it seems slower. Does it seem slower ‘when saving a transaction’, or ‘when generating a 150 page report’? Does it seem slower when ‘opening the Employee Center’ vs. ‘opening the Vendor Center’ (these two ‘table sizes’ tend to be about the same for comparative purposes.) Does it seem slower to ‘load or open for use’, or does it seem slower when it tries to close? What other programs do you have running when QuickBooks seems slow? Any specifics we can ‘discuss’ out of our user can help us to diagnose potential sources of the problem.
My own ‘cardiologist’ is featured in a television commercial saying “if you just take the time to listen to the patient, they will eventually tell you what is really happening with them….”. ProAdvisors all too often listen to that initial Chief Complaint and then rush right in trying to figure out what is wrong without taking the time to really listen for what is happening.
Finally we have come to those ‘measurable signs’ and ‘diagnostic tests’ that give us key indicators. In the article on your Local Area Network I recommended a testing utility for your LAN, and that tool provides a diagnostic measure of your ‘network performance’; however, there are no similar formal measurement tools we can use to test our actual QuickBooks performance, but there are tests of a sort that can provide the ‘signs’ to help us differentially diagnose performance complaints.
One measurement is what I refer to as ‘the data dump’, and for this you need a good stop watch. If you are going to be a ‘cheap’ amateur sleuth then use the stop watch on your iPhone, but if you are going to move to the league of Sherlock Holmes, or our own ‘Data Detective’ then invest in a good competition quality stop-watch with ‘split’ second hand. The ‘data dump’ test involves running the Transaction by Date report from the Accountants Reports Menu, with the date set to ‘All’ (and the 'Detail level' set to All, as well). In reality this report queries every transaction table within the file, along with many of the list tables; while it does not require the computing cycles necessary to format the data into General Ledger, Journal or Audit Log formats, it is a good measure of the ability to simply ‘pull and display’ (Query and Compile) the majority of your QuickBooks database records.
Using this ‘baseline report’ and timing it from the moment you call the query to the moment it is displayed on screen completed, will provide you with a measurable sign in seconds, and one you can compare in a variety of settings. For example perform the test on each workstation in multi-user mode with all workstations logged-into the QuickBooks file. Now perform the test on each workstation in multi-user mode but with only that workstation logged-into the QuickBooks file. Now perform the test on each workstation, one by one, each logged-into the QuickBooks file in single-user mode. Now perform the test on the ‘server’ hosting QuickBooks in first multi-user mode with all other workstations logged-in, then in multi-user mode with no workstations logged-in, and then in single-user mode on the server.
In some cases you may need to perform this test after creating an alternative host (as opposed to using the ‘alternative hosting mode’), by designating a workstation temporarily as the host, moving the QuickBooks file to that workstation, and then proceeding with the exact same testing as mentioned above. It may be further necessary to configure your network using Intuit’s ‘alternative hosting mode’ where a workstation acts as the QuickBooks ‘database server’ even though the file is located on a different computer. You would then proceed through the identical steps testing performance from each computer as well as the host and server using both single and multi-user modes.
By the time you have finished this process, you have obtained a great deal of ‘measurable data’ in terms of the exact number seconds to query, compile and display the same report. While I obviously cannot give you any specific ‘number of seconds’ you should consider abnormal, since the size of each file makes all the difference, what you are looking for in this testing is measurable differences in terms of how the various computers, network components, and server (host) performs in single and multi-user formats. Substantial differences in speed should then be simply categorized as ‘fast’ or ‘slow’. Once you have done that, you can use the table displayed in the headline of this article to help you ‘differentiate’ performance bottlenecks.
Who knows, if you get as ‘good’ at differential diagnosis of QuickBooks Performance, as Dr. Gregory House on the TV series ‘House’ was with his patients, perhaps you will find yourself on television as well in a series like ‘The Data Doctor’. Best of luck, in all your diagnoses!
Yes - I realize the quality of the 'headline table' is very poor. You can download it here.