The information in this article applies to:
TESTIO.EXE is a simple program designed to test for basic network reliability (i.e., reading and writing across the network) as well as provide a basic idea of read/write speed.
Note: TESTIO.EXE is a DOS-based program, and therefore cannot be run under a 64-bit operating system. Although it can be installed on a 64-bit server, it can only be run from a non-64-bit workstation.
TESTIO.EXE was not designed to be a comprehensive diagnostic test, but rather, the purpose of the program is to move as much information as possible over the network and to compare the data read from the file server to what was written to the file server. If a discrepancy occurs, then there is a read/write problem on the network. It is possible that the test needs to be repeated under different conditions with a longer time frame and heavier work load. TESTIO is a very basic diagnostic program. Keep in mind that if TESTIO does not report an error, that does not mean that there is not a problem!
The TESTIO program opens 15 temporary files in the current working directory on the server. Each temporary file ranges in size from 410k to 550k for a total of approximately 7.2MB on the server's hard drive. TESTIO will read and write 1000 records in 50 record blocks to each file and then start over. This process will be repeated infinitely by multiple workstations until the program is stopped. The TESTIO program will delete the temporary files when finished. The names of the temporary files are "TESTA", "TESTB", ... "TESTO" respectively.
Since many network problems are intermittent and only occur under heavy workload, TESTIO should be run from as many workstations as possible at the same time and for as long as possible. It is possible that it could take up to 10 hours or longer to detect a problem using this simple program.
In addition to testing for basic network reliability, TESTIO will also report the speed in which the data is written to and read from the network. The information will be displayed at the bottom of the screen and will be listed in the format as follows:
The first number indicates the number of megabytes of data written per second for the last 30 seconds and the second number indicates the number of megabytes of data read per second for the last 30 seconds. The larger the number the better the performance (e.g., 2.3 is faster than 1.4).
In addition to displaying the 30 second averages, TESTIO will display the total number of megabytes of data written per second and the total number of megabytes of data read per second after exiting TESTIO. The information will be displayed at the bottom of the screen and will be listed in the following format:
A more accurate timing of the network speed occurs when more than one workstation is running the same copy of TESTIO.EXE at the same time. When more than one workstation is running the program, client side caching issues should be eliminated, thereby presenting a more realistic network performance number. Furthermore, because opportunistic locking cannot be disabled on Windows 2008 Server, Vista or Windows 7, it is necessary to run on more than one workstation at a time in order to have accurate read and write speeds. Keep in mind that the last workstation that stops the TESTIO.EXE process may have faster read/write speeds because disk caching is enabled.
The URL is:
Use the following procedures to run TESTIO:
Note: Make sure the temporary directory is NOT included in your nightly backup procedure.
Note: Make sure the temporary directory is located on the same drive as
the server where Tabs3 is installed.
Important: Do NOT launch TESTIO directly from the Start | Run feature, because there is no way to reliably set the current working directory. In order for TESTIO to run correctly, the current working directory must be on the server in the same directory as the TESTIO.EXE file.
Note: TESTIO retrieves the computer name and writes it to the TESTIO.LOG file. On Windows 95/98/Me operating systems, TESTIO cannot retrieve the computer name. If TESTIO is unable to retrieve the computer name, you will be prompted for it. In the event you do not want to be prompted for a computer name (e.g., running in a batch process), an environment variable named COMPUTERNAME can be set which defines a computer name.Several command line options are available with this utility. Typing TESTIO /? will display the following help:
Usage: TESTIO [Records] [Options]
Example Use: TESTIO 2000 /N /i80
| | | |
Program --------------- | | |
| | |
Records per Iteration ------- | |
| |
No Data Testing ----------------- |
|
Records per Block -------------------
The example above specifies 2000 records per iteration
(the default is 1000), do not test the read buffer, and
read and write 80 records per timing (the default is 50).
The following is an example of what the screen might look like after running and stopping TESTIO. If there are no problems with reading and writing across the network, the "BAD I/O" information will not be shown.
This program tests I/O. Press ESC to halt the program.
Reads & Writes per Block: 50 Records per Iteration: 1000
FILE WRITE READ ITERATIONS
1 1000 1000 4271
2 1000 1000 4271
3 1000 500 4271
4 1000 500 4273
5 1000 500 4271
6 1000 1000 4272 BAD I/O 1000
7 1000 1000 4273
8 1000 1000 4270
9 1000 1000 4272
10 1000 500 4272
11 1000 500 4271 BAD I/O 1000
12 1000 500 4270
13 1000 1000 4271
14 1000 1000 4271
15 1000 500 4270
Avg Meg/Sec Write: 2.882 Avg Meg/Sec Read: 3.175
Tot Avg Meg/Sec Write: 2.857 Tot Avg Meg/Sec Read: 4.796
ALL TEST FILES HAVE BEEN DELETED. INFORMATION HAS BEEN WRITTEN TO TESTIO.LOG.
When the TESTIO program is terminated, a log file (TESTIO.LOG) will be created. The TESTIO.LOG file is appended to each time TESTIO is terminated on a workstation. The following is an example of a TESTIO.LOG file:
Computer: BRANDON Path: F:\APPS\STI\ Start Date: 04-09-2009 Start Time: 10:10:37 End Date: 04-09-2009 End Time: 10:10:59 Total Avg Meg/Sec Write: 2.857 Total Avg Meg/Sec Read: 4.796 Iterations: 4271 ================================================== Error Code: 75 Error Line: 790 Computer: LAB1 Path: c:\testio Start Date: 04-09-2009 Start Time: 10:10:37 End Date: 04-09-2009 End Time: 10:10:59 Total Avg Meg/Sec Write: 3.176 Total Avg Meg/Sec Read: 33.082 Iterations: 4
Important: If I/O errors are encountered, TESTIO.EXE may be unable to write to the TESTIO.LOG file. Therefore, it is necessary to check the results of the TESTIO.EXE program on each workstation rather than relying solely on the TESTIO.LOG.
If an I/O error is encountered, a column called "BADIO" will be displayed tracking the number of errors in each file. This indicates that the existing hardware and network software is having trouble reading and writing to the network server.
Depending on the type of network problem, it is entirely possible that the program will abort with a fatal error message or even lock up before the TESTIO program has a chance to show the "BAD I/O" indicator. This type of behavior supports the likelihood that there is a problem with the network hardware or software.
A fatal error may occur while running the program due to path issues or other unexpected hardware issues. For example, TESTIO may abort with an Error 71 (Windows 9x O/S) or Error 75 (Windows NT O/S) in line 2070 or 3070 if TESTIO cannot make a path-to-file connection. This error can be simulated by simply running TESTIO.EXE and unplugging the network cable.
As another example, an error may occur if the server is rebooted while TESTIO is being run from a workstation off the server drive. Other fatal errors may occur if a nightly backup routine is run at the same time as TESTIO.
If a fatal error is encountered while TESTIO is running, an "Error Code" and "Error Line" may be shown in the TESTIO.LOG file as shown in the above example.
To determine where the actual problem lies, additional testing of the network hardware and software would be required by your computer technician.
If TESTIO does report a problem, it is helpful to know if the problem occurs on only one workstation or not. If the problem only occurs on one workstation, you should start troubleshooting at the workstation. If multiple workstations receive errors, you might wish to start at the file server and work backwards through the network.
While all workstations should have the latest redirector software, it is more likely that the culprit of errors that TESTIO can detect are due to defective NIC drivers, NIC hardware, hubs, switches, cabling and so on. Updating to the latest redirector is easy to do, but do not count on that to solve network packet transfer problems.
If running under Windows NT, you may notice VDM*.TMP files in the directory where TESTIO was run. These files are created by the operating system and are therefore not deleted by TESTIO.
The majority of functions performed in the Client Server Version (CSV) of the Tabs3 and PracticeMaster software bypass the redirector components of network software. Although the TESTIO.EXE utility program uses redirector components of the network software, it is still a valid troubleshooting tool when using CSV versions of the software because it can detect various other network communication problems. As previously stated in this article, keep in mind that if TESTIO does not report an error, that does not mean that there is not a problem!
THE INFORMATION PROVIDED IN THE SOFTWARE TECHNOLOGY, INC. KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. SOFTWARE TECHNOLOGY, INC. DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SOFTWARE TECHNOLOGY, INC. OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF SOFTWARE TECHNOLOGY, INC. OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
© 1999-2010 Software Technology, Inc. All rights
reserved. Terms of Use
The maker of Tabs3 and PracticeMaster
Tabs3, PracticeMaster, and the “pinwheel” symbol (
) are registered trademarks of Software Technology, Inc.
e-Mail Suggestions for the Knowledge Base to: kb@Tabs3.com
Technical Support via e-mail is not available.
Knowledge Base: http://support.Tabs3.com
Web Site: http://www.Tabs3.com