Support: Downloads & Updates
IxChariot Support: KnowledgeBase
-
General
- What are the system requirements for IxChariot?
- How can I determine what build level of IxChariot I'm running?
- What happens on the network during a simple IxChariot test?
- How do I use IxChariot to test through a load-balancing device?
- Can I use IxChariot to test 802.1p QoS?
- Can I use endpoints running on different operating systems in the same active network test?
- How do I determine application-layer throughput?
- How do I export my IxChariot test results into another program?
- How do I replicate the same test multiple times?
- Why do I see small packets when I run a IxChariot test using TCP?
- How does the traceroute function in IxChariot work?
-
Test Configuration (run options, management networks, timing records, etc.)
- How do I configure a IxChariot pair to use an alternate physical network?
- How does IxChariot use an alternate physical network for test setup and results reporting?
- When do I use an alternate physical network for test setup and results reporting?
- What limitations exist in using IxChariot's alternate network capability for test setup and results reporting?
- How do I run a IxChariot test for a fixed duration of time without modifying the script?
- What are the best practices for running IxChariot tests for an extended period of time? (24 hours or longer)
- How do I avoid creating too many timing records in a test?
-
Statistics and Calculations
- How is 'throughput' calculated?
- Why is the aggregate throughput value larger than the theoretical maximum?
- What do the terms 'ninety-five percent confidence interval' and 'relative precision' mean?
- How does IxChariot calculate lost data in a streaming test?
- Why do my IxChariot graphs sometimes drop to zero?
- How is Response time calculated?
-
Pair Types and Application Scripts
- The High Performance Throughput script gets different results than the Throughput script under the same conditions.
- What are the best scripts to simulate a SAP real-world environment?
- What is the main difference between the Exchange Read Mail Script and Exchange Send Mail script?
- How large is the data file that IxChariot creates when I choose a data type of NOCOMPRESS in my script?
- What is the DEFAULT value for the buffer size in IxChariot scripts?
- VoIP, Video, and Streaming Tests
- Firewalls and NAT Routers
- Endpoints
- Automation and Scripting
-
Operating-System Configuration
- How do I set the Maximum Transmission Unit (MTU) size for Microsoft operating systems?
- How do I determine the IPX address on a Win32 computer?
- What is the DEFAULT value for the buffer size in IxChariot scripts?
- How do I configure Windows 2000 endpoints for testing with a Service Quality?
- How do I manually uninstall Deterministic NDIS Extender (DNE)?
- How do I start and stop the Performance Endpoint on Red Hat Linux?
-
Licensing and Registration
- Ixia License Management (IxChariot versions 6.10 and up)
-
Legacy Licensing (IxChariot 6.0 and earlier versions)
- How do I register my IxChariot Console?
- How do I deregister my IxChariot Console?
- How do I move my IxChariot license to another computer?
- How do I distinguish betwen my license code, authorization key, deregistration code, and password?
- When I upgrade my IxChariot software to a later version release, do I need to deregister and then register my license again?
- Where do I find my deregistration key once I close the deregistration wizard?
- CHR0315 Reason Code 5
- CHR0315 Reason Code 9
-
Errors and Warnings
- Endpoint creates a core dump while running an IxChariot test
- Error running test
- Error: "CHR0204: No partner program is waiting to accept this TCP Sockets connection."
- Test hangs while running
- Error: 'CHR0359: An error was detected in the high precision timer.'
- Error: 'CHR0336: A timing record was received with a measured time between 1 and 20 milliseconds.'
- An error results when installing Ixia Performance Endpoint on a system with dual NIC's and load balancing is turned on.
[ top of page ]
Error Opening Application
Symptoms
Error: "CHR0315 An IxChariot license could not be obtained because this computer is not authorized to use the license. The reason code is 9."
Cause
A RAID disk array is enabled on the computer where you installed the IxChariot Console software.
Solution
To work around this problem, first write down the license code that is being displayed on the computer that contains the RAID array. Then install IxChariot on another computer that does not contain a RAID implementation, and contact Ixia Technical Support for assistance in registering your new Console. Please be prepared to provide the license code from the computer with the RAID array when you call.
[ top of page ]
How do I register my IxChariot Console?
Solution
To register your IxChariot Console:
1. When you open IxChariot, you will see a window titled Registration Card Entry. Select Register IxChariot and make sure that you have entered your registration number and password in the data fields. NOTE: If you are currently evaluating IxChariot, the IxChariot Console window opens. Select Change User Settings... from the Options menu. In the window that appears, select the Registration tab. On the Registration tab, click Register. You will see a new window titled Registration Card Entry. Select Register IxChariot and make sure that you have entered your registration number and password in the data fields.
2. Click Next. You will see a screen titled Authorization Key Request. The box labeled Get an authorization key will be checked.
3. Click Next. You will see a screen titled Internet Access. If your machine is connected to the Internet, click Next. The IxChariot Console will open a Web browser and attempt to connect with the Ixia registration server. Proceed to Step 7. If your machine is not connected to the Internet, or if your connection is unsuccessful, UNCHECK the box labeled This computer is connected to the Internet and continue with Step 4.
4. Click Next. You will see a screen titled Obtain Authorization Key Instructions at the top. Write down the Registration Number, Password, and License Code from the Registration Information box on this page. Click Next. The next screen contains the Authorization Key field.
5. Open a Web browser on a machine connected to the Internet. Navigate toRegistration. Select the IxChariot link. On the next page that opens, select the Register link under the IxChariot heading.
6. The next page that opens asks for your Registration Number, Password, License Code and the version of IxChariot that you are registering. Type the information you obtained in Step 4 into the appropriate fields. Click Register.
7. Verify the contact information that appears in the Web browser. Update the information using Update Information or New User. Once the information is correct, click Generate License.
8. The next screen contains your authorization key. Write this down or print it , then enter it into the Authorization Key field on the machine where the IxChariot console is installed. Click Next. You will see a screen titled Registration Summary that confirms your registration. This completes the registration process. If you see an error, click the Back and verify the authorization key you typed in the field. Contact Technical Support via email atsupport-ixchariot@ixiacom.comor via telephone at (877) 367-4942, if you have difficulty obtaining a valid license.
[ top of page ]
How do I deregister my IxChariot Console?
Solution
To deregister your Ixia IxChariot Console:
1. From the main Ixia IxChariot console window select Change User Settings… from the Options menu. Click on the Registration tab in the dialog box that appears.
2. On the Registration tab, click Deregister. The next dialog box asks whether this computer is connected to the Internet. If your machine is connected to the Internet , leave the boxes checked and click Next and continue with Step 3. If your machine is not connected to the Internet, skip to Step 6.
3. You will see a message confirming that you want to deregister your console. Click Yes.
4. The IxChariot Console will automatically open a Web browser and contact the Ixia registration center. You will see a message that states "The Ixia Software Registration Center was successfully notified that your license was voided."
5. Your license is now available to be registered on another machine and you have completed the deregistration process. If you wish, you may print a copy of the Deregistration Summary that comes up after your license has been voided. If you see any other message here, contact Technical Support via the Web Support form or via telephone at (877) 367-4942.
6. If your machine is not connected to the Internet , UNCHECK the box labeled This computer is connected to the Internet.
7. Click Next. You will see a message confirming that you want to deregister your console. Click Yes. The next page displays your deregistration code. Record this number in a safe place or print this page.
8. Save a copy of the file, deregister.dat (which you can find in the \chariot installation directory on that machine), to a floppy disk or another location that you can access at a later time. You can open this file with a text editor such as Notepad or Wordpad to view your deregistration code.
9. Open a Web browser on a different machine that is connected to the Internet. Navigate to Registration. Select the IxChariot link. On the next page that appears, select Deregister under the IxChariot heading.
10. Type the deregistration code you obtained in Step 4 in the Deregistration Code field and click Deregister. You will see a message that states "The Ixia Software Registration Center was successfully notified that your license was voided." Your license is now available to be registered on another machine. If you see any other message here, contact Technical Support via the Web Support form or via telephone at (877) 367-4942.
[ top of page ]
What happens on the network during a simple IxChariot test?
Solution
When you Run a simple IxChariot test with a single pair of endpoints, the IxChariot Console sends a flow of data containing your configuration information to the Endpoint 1 computer in the pair you've created. This flow of data includes the script that the endpoints will execute.
The Endpoint 1 computer keeps its half of the script and send the other half to Endpoint 2. When Endpoint 2 sends an acknowledgment, Endpoint 1 notifies the Console. Then the Console instructs Endpoint 1 to begin executing the script. Each endpoint performs the commands in the script. IxChariot scripts include a number of iterations to obtain the most representative results.
Endpoint 1 times the test and collects results for non-streaming pairs. For a streaming pair, Endpoint 2 collects results and returns them to the Console via Endpoint 1. Endpoint 1 finally returns test data to the Console for presentation and analysis.
[ top of page ]
How can I determine what build level of IxChariot I'm running?
Solution
From the main IxChariot Console window, select About IxChariot from the Help menu. The build level can be found in the top section of the dialog box that appears, in the third line (for example, Build Level: 999 (Retail)).
[ top of page ]
What is Real-time Transport Protocol (RTP)?
Solution
Real-time Transport Protocol (RTP) is used to send data in one direction with no acknowledgement. The header of each RTP datagram contains a time stamp so the recipient can reconstruct the timing of the original data, as well as a sequence number, which allows the recipient deal with missing, duplicate or out-of-order datagrams.
You will find RTP ideal for sending streaming audio and video, whether to one (unicast) or to multiple recipients (multicast).
RTP has a sister protocol, Real-time Transport Control Protocol (RTCP), which allows a reccipient give feedback to the RTCP sender (and vice versa). For example, a receiving application might tell the sending application to slow down the video stream. At a slower rate, you can still see the video, but it might appear jerky or in lower resolution. Guidelines in the RTCP specification help programmers avoid consuming too much network bandwidth with control flows.
RTP handles the real-time characteristics of multimedia applications well. Streaming applications differ from traditional data applications in the requirements they place on the sender, recipient and network. When streaming audio or video, it is acceptable to lose some data, but you don't want large gaps. However, losing data in your payroll application is unacceptable.
The Internet Engineering Task Force (IETF) describes RTP in RFC 1889. RTP is the transport of choice for telephone calls, as well as streaming audio or video. The International Telecommunication Union employs it in the multimedia communications standard H.323, and it is used by the real-time streaming protocol (RTSP).
RTP rides inside the User Datagram Protocol (UDP) and is thus connectionless. RTP is not part of the TCP/IP protocol stack, so applications are coded to add and recognize a new 12-byte header in each UDP datagram. The sender fills in each header, which contains the following information:
Payload type : Describes the type of data - such as voice, audio or video - and how is it encoded.
Sequence number : Helps a recipient reassemble the data and detect lost, out-of-order and duplicate datagrams.
Time stamp : Used to reconstruct the timing of the original audio or video. Also, helps a recipient determine consistency or the variation of arrival times (sometimes known as jitter).
Source ID : Helps a recipient distinguish multiple, simultaneous streams, using a unique sender-generated value.
The RTP header can constitute a lot of overhead, depending on the size of the data payload. For example, a typical voice-over-IP data payload is 40 bytes. With RTP, the total header overhead consists of RTP (12 bytes) + UDP (8 bytes) + IP (20 bytes) = 40 bytes. Therefore, around 50% of the datagram is the header. With video applications, the typical payload is usually larger, such as 1460 bytes, so the header overhead is a smaller percentage of the total size.
Some routers can reserve queues and prioritize RTP traffic because they can recognize the standard headers. Some routers can also perform RTP header compression, often reducing the total header size from 40 bytes to 2 to 5 bytes. Although compression reduces header overhead, it increases latency, so performing header compression on links faster than 500K bit/sec doesn't save much.
Most protocol analyzers can decode RTP headers and provide information about the data being sent. For instance, an analyzer can identify the payload type in the header, letting it show the actual payload data.
An advantage of RTP is its consistency among applications. Before RTP, application programmers using UDP would create their own datagram headers. When each application had a different header size and format, it was difficult for routers or other network devices to perform compression. In addition, sending and receiving applications had to be tightly coupled. With RTP, a receiving application from one vendor can receive RTP data from a sending application of another vendor.
New applications are bringing together rich mixes of voice, music, video and data on the same networks. RTP is positioned to be a core technology for transporting multimedia for some time to come.
[ top of page ]
Does IxChariot Require Winsock 2 to run on Windows 95?
Solution
The WinSock 2 DLL must be installed on the computer where you install IxChariot and also all computers where you install the Performance Endpoint. WinSock 2 is available as a part of Windows NT with Service Pack 3 or higher, Windows 2000, Windows Me and Windows 98. You can download WinSock 2 for Windows 95 from the Microsoft Web site. The Microsoft knowledge base article titledHow to Identify Winsock 2.0 Run-Time Components for Windows 95will help you to assess whether you have Winsock 2.0 installed on your Windows 95 machine. The article also contains links to the download site if you need to update your Windows 95 machine.
Additional Information
IxChariot 4.1 and earlier will run on Windows 95 with Winsock 2 installed. IxChariot 4.2 and later is not supported on Windows 95.
[ top of page ]
How do I export my IxChariot test results into another program?
Solution
IxChariot allows you export formatted test results into the following formats:
ASCII text
HTML
Comma-separated value (.CSV) format (for spreadsheet applications)
To export test results, select Export from the File menu in the IxChariot test window. Then select the desired format. You may select from the following options when you export:
Output Template: This pulldown allows you to choose an output template. To modify an output template, select it here. To create a new output template, enter the name of the new output template in this field. The special characters *,\, and ? are not allowed in an output template name.
Summary Report: This option shows just the test setup and a summary of any results. You can also choose to include the information shown in each of the tabs and graphs in the printed or exported results. Check Result Tables to include the information summarized in the Throughput, Transaction Rate, Response Time, Lost Data, and Datagram tabs. Check Result Graphs to output the corresponding graphs. When you export results, IxChariot creates GIF image files for these graphs. This option is only available for HTML Export.
Complete Report: This option shows everything--all the setup information, all the scripts, all the results analysis, and all the individual timing records.
Custom Report: This option allows you to choose precisely what to show in your report or display the selections from an output template you have created. Click Select to choose each option.
After you choose your options, click Export. Once you save the export file, you can open your results from another program that supports that file format.
IxChariot also ships with a command-line program, FMTTST, that lets you export formatted test results from the command line. The IxChariot User Guide provides more information.
[ top of page ]
Which ports are used for test setup during IxChariot tests?
Solution
During test setup, Endpoint 1(E1) randomly picks the first available port and transmits the setup information to Endpoint 2(E2) port 10115. E2 then sends an acknowledgment from port 10115 to the port where E1 transmitted the setup information. In IxChariot, designated port settings in the script apply only to the test, not to the setup.
[ top of page ]
How does the traceroute function in IxChariot work?
Solution
IxChariot simply uses the standard utilities built into every IP protocol stack to perform a traceroute. The IxChariot console initiates the traceroute with an endpoint node. The endpoint node sends a series of ICMP packets toward the final destination. The first one has a time to live (TTL) setting of just ONE. When the first router in the network node sees this packet, it rejects the packet because the TTL has expired and sends a message BACK to the sender with the timestamp and the TTL expired message. The endpoint then sends a packet towards the destination with a TTL of TWO. The first router forwards the packet but when the second router in the network node sees this packet, it rejects the packet because the TTL has expired and sends a message BACK to the sender with the timestamp and the TTL expired message. This sequence is repeated until a packet is received from the destination. The identity and timing is contained in all the ICMP reply packets.
[ top of page ]
How do I set up IxChariot tests to run automatically?
Solution
IxChariot includes several command-line programs that let you automate the running of tests and the formatting of results. You may use any of these in conjunction with a scheduler, like the Windows 2000 Scheduled Tasks window. Consult the chapter titled "Using the Command-Line Programs" in the User Guide for IxChariot for more information.
You can also use the IxChariot Application Programming Interface (API) to write test programs. The API Guide for IxChariot is included with the IxChariot online help files, and printed copies are available upon request. The API accepts programs written in the C or TCL programming languages. The API gives you more control and functionality for automated testing.
[ top of page ]
What are the system requirements for IxChariot?
Solution
IxChariot 4.2 runs on Windows 98, Windows NT 4.0, WindowsMe, Windows 2000 or Windows XP. IxChariot 4.2 requires a minimum of a Pentium computer with 32 MB of RAM, a display that supports a resolution of at least 800X600 at 256 colors, at least 23MB of free hard disk space, and Microsoft Internet Explorer 5.0 or later. We highly recommend a Pentium II 500 or faster with 128MB of RAM for larger tests.
IxChariot 4.1 and earlier runs on Windows 95, Windows 98, WindowsMe, Windows NT 4.0, or Windows 2000. IxChariot requires a minimum of a Pentium computer with 32 MB of RAM, a display that supports a resolution of at least 800X600 at 256 colors, at least 23MB of free hard disk space, and Microsoft Internet Explorer 5.0 or later. We highly recommend a Pentium II 500 or faster with 128MB of RAM for larger tests.
[ top of page ]
Why is the aggregate throughput value larger than the theoretical maximum?
Solution
The throughput average total for all pairs can be larger than the theoretical maximum throughput on the network because not all of the pairs in a test are sending simultaneously, but the summation of the timing records is done as though they were. There are several reasons why an endpoint may not be sending data at times. The most obvious is on an Ethernet, where it is physically impossible to simultaneously send a signal. Another case would be where a non-zero value is coded on a SLEEP variable that is outside of the timing loop. A third possibility is that several pairs are defined on one endpoint, and the operating system suspends one of the tasks while another runs. Here's an illustration: 2 pairs are running across a 128 kbps link; one is sending and measuring 100 kbps, while the second pair is stuck at a point in the script outside of the timing loop. When the first pair finishes sending, the second pair is freed--by the operating system or protocol stack--to begin sending, while the first pair is now held up. Both pairs thus report throughput of 100 kbps, with an aggregate throughput of 200 kbps.
Examine the timing records of the test in question to determine if this is happening. You may find that some of them contain positive values in the column labeled "Inactive Time."
IxChariot version 3.2 and higher calculates throughput for a group of endpoints by taking the inactive time into account. You should place your endpoints in groups by using IxChariot's sorting feature. Printed results will then be accurate. Improbably high aggregate throughput is measured across the sum of the measured times for each endpoint, but for a group, the throughput is divided by the total elapsed time for a test. Multicast groups are treated slightly differently. Consult the IxChariot User Guide for more information about how throughput is calculated for a group.
If you're running tests on Ethernet, where two endpoints cannot physically send simultaneously, you should also edit the scripts used in your tests so that all SLEEP commands within the timing record loop (between START_TIMER and END_TIMER) have non-zero values.
[ top of page ]
What do the terms 'ninety-five percent confidence interval' and 'relative precision' mean?
Solution
IxChariot calculates averages for throughput, transaction rate, and response time. The ninety-five percent confidence interval and the relative precision are statistical descriptions of the consistency of those values. The simplest way to look describe this is that 95% of the measured values for a particular measurement fall within the average value plus or minus the confidence interval. Relative precision tells us the percentage variation from the average. For example, if you run a test with actual test results such as throughput average of 354.9KBps, a 95% confidence interval of 18.9, and a relative precision of 5.3, the throughput average is 354.9 KBps, +/- 18.9 KBps, or +/- 5.3%. Note that this is a simplistic view of the statistical accuracy of your measurements. If you require a more in-depth discussion of these values, look in the User Guide for IxChariot or a statistics text.
[ top of page ]
Endpoint creates a core dump while running a IxChariot test
Solution
We noticed that a software problem caused a core dump to occur frequently during our tests with Solaris x86 version 2.4 This problem has been fixed with a Solaris service pack. Go to one of the following sites to download the fix:
Recommended Patches for Solaris Intel 2.4
[ top of page ]
Error running test
Symptoms
Error: "CHR0251: Could not load a required file "
Solution
Click OK and re-run the test. The NLM should now be recognized as loaded, and you should not receive the message again.
[ top of page ]
How do I set the Maximum Transmission Unit (MTU) size for Microsoft operating systems?
Solution
To configure MTU size for Windows, you have to set a registry variable.
For Windows NT 4.0 or Windows 2000, open the registry (use REGEDT32) to: HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Services\"Adapter Name"\Parameters\Tcpip
Where "Adapter Name" is a hexadecimal string in the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX that corresponds to the MAC address of the network adapter.Create a new variable of type REG_DWORD called MTU and enter the number of bytes up to the MTU of the underlying network. For example, Ethernet is usually 1500.
This information was obtained from the Windows NT Resource Kit, which is shipped as a part of the developer's assistance program.
For Windows 95 and Windows 98, open the Registry (use REGEDIT) to: HKEY_LOCAL_MACHINE\
System\CurrentControlSet\Services\Class\NetTrans\Figure out which key is the TCP/IP protocol for your connection by looking at the other values, then open up that key. The keys in this directory use 000n as their naming convention, where n is a number from 0 to 9. The TCP/IP key will contain a parameter named DriverDesc set to "TCP/IP". Inside that 000n key, create a new string variable called "MaxMTU" and enter your value. 1500 is the default. This information was obtained from Windows 95 Networking FAQ maintained by Richard Graves.
[ top of page ]
How do I avoid creating too many timing records in a test?
Solution
When you run a test for a fixed duration, IxChariot ignores the number_of_timing_records value specified in the script(s). IxChariot runs as many transactions during that time as it can.
When you run a test for a significant duration, you greatly increase the number of timing records the endpoints generate. IxChariot becomes cumbersome when it receives more than 10,000 timing records.
For example, you may run a test with one endpoint pair which generates 100 timing records on your network in 20 seconds. If you run the same test with the fixed duration set to one hour, IxChariot generates approximately 18,000 timing records. Additional pairs multiply the number.
When you run a test for a fixed duration, Ixia strongly recommends increasing the scripts' transactions_per_record values so that you will decrease the test's total number of timing records to less than 10,000.
To reduce the number of timing records for a non-streaming script:
1. In the Test window, double-click one of the pairs in your test. In Edit an Endpoint Pair dialog box that appears, click Edit This Script. This opens the Script Editor.
2. Double-click on transactions_per_record in the bottom pane of the Script Editor window. Increase the Current Value by a factor of ten. For example, if transactions_per_record has a Current Value of 50, change the number to 500. Click OK to keep your changes. Select Save to Pair from the File menu. Press
to close the Script Editor. 3. Select Set Run Options... from the Run menu. Select the Run for a fixed duration radio button and enter a value of one (1) minute. Click OK.
4. Run the test and view the results in the test window. Select the Raw Data Totals tab and look at the Timing Records Completed column. This is the total number of timing records generated in one minute. For a good statistical sammple, you will want to see 50 to 100 records per pair. If the results contain more than a total of 10,000 timing records, go back and further increase the transactions_per_record value.
5. Increase the transactions_per_record to match the duration of your test. Use this formula: (new transactions_per_record value) = (minutes to run) x (transactions_per_record value in the one minute test)
Example:
In the steps above, you entered a value of 500 for the script's transactions_per_record value and ran the test for one minute. We can now calculate transactions_per_record value so that a test would run for 48 hours, assuming about 300 timing records per pair, you would need to increase the transactions_per_record value to 1,440,000:
transactions_per_record = (60 minutes per hour) x (48 hours) x (500 transactions per record) transactions_per_record = 1,440,000
To reduce the number of timing records for a streaming script:
Streaming scripts do not use the transactions_per_record variable; a timing record is generated at the end of each SEND command. To reduce the number of timing records, increase the file_size variable on the SEND command. The file_size variable controls the amount of data per transaction.
If you specify a send_data_rate other than UNLIMITED, you can use the following equations to estimate the number of timing records you will receive:
duration of timing record = (file_size * 8) / send_data_rate
For example, if you use the Realaud.scr script with the script default parameters, you can expect each timing record to take about 1.39 seconds: (14,040 bytes * 8)/80,736 bps.
Use the following formula to determine the value to use for the file_size variable:
file_size = (duration of timing record) / (# of timing records*(send_data_rate * 8))
If you are running a script at full speed, that is, with the send_data_rate set to UNLIMITED, here's a way to reduce the number of timing records by a tenth:
1. In the Test window, double-click one of the pairs in your test. In Edit an Endpoint Pair dialog box that appears, click Edit This Script. This opens the Script Editor.
2. Double-click on file_size in the bottom pane of the Script Editor window. Increase the Current Value by a factor of ten. For example, if file_size has a Current Value of 3000 bytes, change the number to 30000. Click OK to keep your changes. Select Save to Pair from the File menu. Press
to close the Script Editor. 3. Select Set Run Options... from the Run menu. Select the Run for a fixed duration radio button and enter a value of one (1) minute. Click OK.
4. Run the test and view the results in the test window. Select the Raw Data Totals tab and look at the Timing Records Completed column. This is the total number of timing records generated in one minute. For a good statistical sammple, you will want to see 50 to 100 records per pair. If the results contain more than a total of 10,000 timing records, go back and further increase the transactions_per_record value.
[ top of page ]
How does IxChariot calculate lost data in a streaming test?
Solution
Ixia's Performance Endpoints keep track of lost data they run a streaming script. Lost data refers to data that Endpoint 2 did not receive or data that were discarded.
During the Initialization phase of a IxChariot test, the IxChariot Console sends the endpoints information about the application scripts they will run. Settings in the scripts determine how much data the endpoints send and receive during the test. In order to calculate results when running a streaming script, Endpoint 2 collects raw data totals for datagrams (and Bytes) received from Endpoint 1. When Endpoint 2 receives the amount of data that indicates the end of a timing record, it then calculates lost data.
Lost data is calculated as the difference between the amount of data received by Endpoint 2 and the amount of data sent by Endpoint 1. The header information applied to each datagram contains the amount of data sent by Endpoint 1. For RTP, this value is a part of the standard RTP protocol header. For UDP, a special 9-Byte application header that IxChariot applies to each packet contains the amount of data sent by Endpoint 1. This header is proprietary and in addition to the standard 8-Byte header applied by the UDP protocol. When a timing record is complete, Endpoint 2 uses the embedded value for data sent by Endpoint 1 to determine lost data for that stream. Only payload data is included in Lost Data calculations.
[ top of page ]
How do I move my IxChariot license to another computer?
Solution
You must remove the license from the machine where it currently resides by properly deregistering the software, which will release the license on Ixia's Registration Center database. See the Ixia Knowledge Base Article titled How do I deregister my IxChariot Console? for detailed instructions.
Once you have released the license on Ixia's Registration Center database, you may register the IxChariot Console on another machine. See the See the Ixia Knowledge Base Article titled How do I register my IxChariot Console? for detailed instructions.
[ top of page ]
How do I determine the IPX address on a Win32 computer?
Solution
To determine a Windows NT, Windows 2000, or Windows XP computer's local IPX address, enter the following at a command prompt:
IPXROUTE CONFIGIf your IPX software support is configured correctly, your output will look like the following (this output is taken from Windows NT 4.0):
NWLink IPX Routing and Source Routing Control Program v2.00net 1: network number 00000002, frame type 802.2, device AMDPCN1 (0207011a3082)The 8-digit network number is shown first; here, it's 00000002. The 12-digit node ID is shown in parentheses at the end; here it's 0207011a3082, which is our Ethernet MAC address. Thus, the IPX address to be used in tests is 00000002:0207011a3082.
To help you determine a Windows 98, WindowsMe , or Windows95 computer's local IPX address, Ixia now installs the executable program ipxaddr.exe as part of its endpoint software.
To determine the IPX/SPX address using ipxaddr.exe, type IPXADDR at a command prompt, starting from the directory in which you installed the endpoint. (The default is /support/endpoint_library/.)
You can also ask your network administrator for your current 4-byte network number. He or she can load the Monitor program at the server and look in the Connection Information section, under the entry for the Windows 98 or Windows Me computer (presuming it's connected to the NetWare server). You'll see an address that looks like this: 00000002:0207011A308A:0004. The full IPX address is everything preceding the second colon.
If you already know the IP address of a computer -- and thus can Ping to that computer -- you can find its MAC address. First, Ping to the target computer from a computer on the same network segment, using its IP address. Then enter the following command:
arp -aA list of recently cached IP addresses is shown, along with their MAC addresses if they are LAN-attached. The arp command only reports the physical address of computers it can reach without crossing a router. It also won't give you the physical address of the local computer.
[ top of page ]
How do I distinguish betwen my license code, authorization key, deregistration code, and password?
Solution
For IxChariot 3.2:
The password is all lower-case text.
License code is G-HHHH-HHHHHHHHHH (where H represents a hexadecimal character).
Evaluation/authorization key begins with C20NNN (where N represents an alphanumeric character).
Deregistration code is NNNN-NNNN-NNNN-NNNN (where N represents an alphanumeric character).
IxChariot 4.0 and later:
The password is all lower-case text.
The license code is G-HHHH-HHHHHHHHHH (where H is hexadecimal characters).
Evaluation/authorization key is random alphanumeric characters separated by dashes (-).
Deregistration code is NNNN-NNNN-NNNN-NNNN (where N represents an alphanumeric character).
See the IxChariot registration instructions and the IxChariot deregistration instructions for more information on how to use this information to register and deregister IxChariot respectively.
[ top of page ]
How do I configure a IxChariot pair to use an alternate physical network?
Solution
If you want to use an alternate network for setup/results reporting, highlight the pair for which you wish to designate an alternate network and click either Edit Pair Setup (IxChariot 4.2) or Edit Console to E1 (IxChariot 4.1 and earlier) on the Edit menu. The dialog box that appears allows you to specify alternate network addresses for IxChariot to use for test setup and results reporting.
Use Endpoint 1 values from pair: This checkbox is present in IxChariot 3.2 and later. The Console will communicate with E1 using the network address and protocol for that endpoint already specified in the pair. If the Console needs to send test setup information, such as the address of E2, to E1 through an alternate network, clear the box and specify another IP address. If you're using a datagram protocol and this box is checked, the Console uses the corresponding connection-oriented protocol for its connection to Endpoint 1. For example, if you choose the IPX protocol for the test, the default is to use SPX between the Console and Endpoint 1. For RTP and UDP, the default is TCP.
How does the Console know Endpoint 1?: This field is present in IxChariot 3.2 and later. Refers to the network address where the Console can contact E1. NOTE: With IxChariot 4.2, if you're changing the network address at which E1 contacts E2 with setup information (see How does Endpoint 1 know Endpoint 2?, below), you will probably need to change the address where the Console contacts E1 as well. In tests running streaming scripts (and in VoIP tests), E2 also sends results back to E1. If the network is unreliable, you should specify a more reliable address for E1 here. That address will also be used by E2 for results flows.
Use Endpoint 2 values from pair: This checkbox is present only in IxChariot 4.2. The network address and protocol that IxChariot uses for test setup and results flows will be the same as those you specified when you created the endpoint pair. If E1 needs to send setup information, such as the application script, to E2 through an alternate network, clear the box and specify an alternate address. If you're using a datagram protocol and this box is checked, the Console uses the corresponding connection-oriented protocol for its connection to E1.
How does Endpoint 1 know Endpoint 2?: This field is present only in IxChariot 4.2. The network address where E1 can contact E2. Lets you enter a different address for setup and results flows between the endpoints than is specified for test traffic in the pair itself.
[ top of page ]
How does IxChariot use an alternate physical network for test setup and results reporting?
Solution
By default, Endpoint 1 executes a test script, collects results, and reports them to the Console over the same network segment. However, if that segment is on an unreliable network, important test setup information and reported result data may be lost. IxChariot is designed to allow you to use an alternate physical network for test setup and reporting results on a pair-by-pair basis. Endpoint computers can have multiple network adapters and addresses. For example, a computer with multiple adapters may have multiple IP addresses. You can therefore configure IxChariot to use an alternate network address between the IxChariot Console and Endpoint 1 for setup and results in any given endpoint pair.
With IxChariot 4.2 only, you can also configure IxChariot to use an alternate network between Endpoint 1 and Endpoint 2 for setup, timing, and reporting between the endpoints. If you do not specify an alternate network, IxChariot sends all flows to the same network addresses given for the endpoints.
See Ixia's Knowledge Base Article How do I configure a pair to use an alternate physical network? for instructions to set up IxChariot to use your alternate network in a test.
[ top of page ]
When do I use an alternate physical network for test setup and results reporting?
Solution
Depending on the size of your test or the reliability of your test network, you may want to isolate test setup and results traffic from actual test traffic. This can increase the accuracy of results by preventing the setup or reporting traffic from interfering with actual test traffic or decrease the likelihood that setup data will be lost, causing the test to fail. You should use an alternate physical network for test setup and reporting results if you have the necessary equipment to set up a reliable physical network, and if the option is available based on the network protocol(s) you have selected in your test. An alternate network can be particularly helpful in cases where the network under test is unreliable, such as a wireless network.
See Ixia Knowledge Base Article How do I configure a pair to use an alternate physical network? for instructions to set up IxChariot to use your alternate network in a test.
[ top of page ]
What limitations exist in using IxChariot's alternate network capability for test setup and results reporting?
Solution
You may specify an alternate network address between the IxChariot Console and Endpoint 1 using TCP, SPX, or APPC as your protocol. You may only use an alternate network between Endpoint 1 and Endpoint 2 if you meet all of the following requirements:
You use IxChariot 4.2 with the latest endpoints
Your test uses an IP-based protocol, for example TCP, UDP, or RTP.
The entire alternate physical network is configured to use TCP/IP.
See Ixia's Knowledge Base Article How do I configure a pair to use an alternate physical network? for instructions to set up IxChariot to use your alternate network in a test.
[ top of page ]
Why do my IxChariot graphs sometimes drop to zero?
Solution
In IxChariot, graphs drop to zero during inactive times of 25 ms or longer. Inactive times occur when an endpoint pair is not generating network traffic. You can view the inactive times in the Timing Records Details from which the graphs are generated. There are three primary cases that cause inactive times:
You set a sleep time by editing the test script.
The Endpoint has to share resources with applications or other endpoint pairs, which can delay a pair's CPU access.
You chose a script with complex outer loops running over relatively slow connections like FTPget.scr and FTPput.scr.
[ top of page ]
When I upgrade my IxChariot software to a later version release, do I need to deregister and then register my license again?
Solution
If you install a later build of the same version of IxChariot, you do not need to deregister. You already have a valid license for this version of IxChariot. For example, if you initially register IxChariot 4.2 build 1026 and then download IxChariot 4.2 build 1113, then you do not need to deregister.
If you install a later version of IxChariot over an earlier version, the software will force you to deregister and then register the license again. For example, if you install IxChariot 4.2 build 1113 on a machine that has a licensed copy of IxChariot 4.0 build 848, the IxChariot 4.2 software will prompt you to deregister your license for IxChariot 4.0 and obtain a new license for IxChariot 4.2.
For more information, please see the Ixia Knowledge Base articles How do I register my IxChariot Console? and How do I deregister my IxChariot Console? respectively.
[ top of page ]
How do I replicate the same test multiple times?
Solution
To replicate a test manually, just save the test file with a different filename and run it again. For automated replication, you can use the command-line program CLONETST. CLONETST lets you use a IxChariot test as a template for building other tests. See "Using the Command-Line Programs" in the IxChariot User Guide for more information.
To run the same test on a regularly scheduled basis, use a batch file to automate testing with the RUNTST command-line program, which simplifies the process of running a test multiple times. Using certain flags, you can arrange to export your results or configuration information to an HTML file, a test (.tst) file, or to a file in .CSV format. The default output writes results to stdout.
[ top of page ]
What is the DEFAULT value for the buffer size in IxChariot scripts?
Solution
When a IxChariot application script variable for buffer_size is set to the value DEFAULT, IxChariot instructs the endpoints to use the default buffer size for the API of the protocol and platform on which it is running. The default value, in bytes, which IxChariot uses for each API and protocol are listed in the chart below:
Operating System APPC send/ recv TCP send/ recv SPX send/ recv UDP send/ recv IPX send/ recv RTP send/ recv MVS 32763/ 32767 32767 n/a 8183 n/a 8180 NetWare n/a 32767 32767 8183 1391 on v4.x, 537 on v3.12 8180 OS/2 32763/ 32767 32767 32767 8183 537 8180 UNIX (all) n/a 32767 n/a 8183 n/a 8180 Windows 3.1 n/a 4096/ 32767 n/a 8183 n/a 8180 Windows 95/98/Me 32763/ 32767 4096/ 32767 4096/ 32767 8183 1391 8180 Windows NT/2000 32763/ 32767 32767 32767 8183 1391 8180
[ top of page ]
Error: "CHR0204: No partner program is waiting to accept this TCP Sockets connection."
Symptoms
TCP chosen as testing protocol in endpoint pair where error occurred
Cause
The computer you attempted to test does not have Performance Endpoint software installed or running properly to enable testing and monitoring.
Solution
Download the most recent Performance Endpoint for the appropriate operating system from thePerformance Endpoints download page. Install and start the Performance Endpoint on the system.
[ top of page ]
Test hangs while running
Cause
Endpoint 2 is unable to utilize a routable address back to Endpoint 1. This causes the test to hang since the data that completes the test cannot be reported.
Solution
In order to test successfully with a NAT-enabled firewall between the two endpoints in a IxChariot test:
Be sure that the firewall is configured to allow traffic in both directions over IxChariot's well-known ports and from Endpoint 1 to Endpoint 2 over the user-defined port in the test script.
If Endpoint 1 is configured with a legitimate, routable IP address, then use that IP address in the IxChariot test setup for the Endpoint 1 address. If Endpoint 1 is configured with an internal, nonroutable IP address (i.e., 10.*.*.* or 192.168.*.*), then use the designation localhost as the Endpoint 1 address and configure the Console to know Endpoint 1 as its internal IP address. In this case, you must also insure that the firewall must have a one-to-one mapping of the NAT IP address/port to the actual IP address/port of Endpoint 1.
[ top of page ]
Can I use IxChariot to test 802.1p QoS?
Solution
Some or all of the following software and hardware components are required to provide 802.1P QoS:
1. Switches: Many high-end and midrange switches support 802.1P today.
2. Network Interface Cards: Most of the latest NICs support 802.1P, but this support is not enabled by default. Most of the latest NICs support 802.1P, but this support is not enabled by default. Configuration is required for enabling this feature. For a Windows 2000 computer, perform the configuration as follows:
a. From the Start menu, Click Settings, followed by Network and Dialup Connections.
b. Double-click Local Area Connection and click Properties.
c. Click Configure, then click the Advanced tab.
Network Interface Card drivers: Some of the NICs that support 802.1P may require updated driver software to enable it. These drivers are usually available from the NIC vendor.
3. NIC utilities: Some NIC vendors provide utility programs that can be used for NIC card configuration.
4. Packet marking or prioritization software - In Windows 2000 and Windows XP, the QoS Packet Scheduler provides functionality to support 802.1P. The Packet Scheduler can be installed by taking the following steps:
a. From the Start menu, click Settings, followed by Network and Dialup Connections.
b. Double-click Local Area Connection and click Properties.
c. Click Install. Highlight Service and click Add.
d. Click Microsoft. The QoS Packet Scheduler should be listed as a service that can be installed.
Additional Information
You'll need to configure a IxChariot GQoS template to drive the 802.1P settings. The QoS Packet Scheduler will mark both the Diffserv (IP TOS/Precedence) fields and the 802.1P field. The key parameter is the Service Type. The Packet Scheduler will mark packets according to the following mappings:
Service Type Diffserv (IP TOS/Precedence) 802.1P Guaranteed 5 5 Controlled Load 3 3 Best Effort 0 0 All other traffic 0 0 Follow these steps to configure a GQoS template:
1. From the Tools menu in the IxChariot Main Window , select Edit QoS Templates.
2. Click Add, and then select Generic QoS from the sidebar.
When you create a GQoS template, you must set the token rate - a value of No Value is not valid with most current implementations of GQoS by Microsoft. The token rate should be set to be greater than or equal to the data rate for the codec being tested. For example, you need to set the token rate to 64000 bits per second 8000 Bytes per second) for the G.711 codec.
Note that IEEE has not yet standardized a mechanism for automatically negotiating 802.1P functionality. As a consequence, it is possible to incorrectly configure senders and receivers so that they are unable to communicate.
[ top of page ]
How do I set up a IxChariot test to run through a firewall?
Solution
Firewall Configurations for IxChariot
For more information,click here.
[ top of page ]
Why do I see small packets when I run a IxChariot test using TCP?
Cause
TCP encountered a condition that requires the receiver to acknowledge data receipt before it will allow the sender to send more data.
Solution
There are at least four reasons for the TCP stack to send a packet during a IxChariot test:
1. Maximum Transmission Unit (MTU) size has been reached
2. End of File (EOF)
3. End of Buffer (EOB)
4. End of Window (EOW)
EOF, EOB and EOW require an acknowledgement (ACK) from the receiver before the TCP stack will send any more data.
For files larger than the default buffer size, you will see at least one packet in a sequence of sends that is smaller than the MTU for the media.
Example:
If you set up a test using one pair between two machines connected via Ethernet with different IP Addresses, running the Throughput.scr script over TCP, you will send 100,000 bytes each time you send a file. If you keep default values for the number of timing records and TCP buffer sizes, you will see the following pattern of packets sent:
Twenty-two (22) 1518 byte packets followed by one 705-byte packet.
Twenty-two (22) more 1518 byte packets followed by one 705-byte packet.
Twenty-two (22) more 1518 byte packets followed by one 705-byte packet.
One (1) 1518 byte packet followed by one 297-byte packet.
The packet sizes in this example include all headers plus the data payload. In each packet, the packet headers contain 58 bytes of data - that's 20 bytes added by TCP, 20 bytes added by IP and 18 bytes added by Ethernet. The remainder is the data transferred in that packet.
In each 1518 byte packet, the data payload is 1460 bytes. In each 705-byte packet, the data payload is 647 bytes. In each 297-byte packet, the data payload is 239 bytes. The default TCP send buffer on most operating systems can hold 32,767 bytes. Typically, the TCP stack will advertise a 8760-byte window for data.
A 100,000-byte file will fill the default buffer three times plus a small amount sent at the end of the transfer:
32,767 bytes + 32,767 bytes + 32,767 bytes + 1699 bytes = 100,000 bytes of user data
TCP sends 32,767 bytes of data as 22 packets, each containing a 1460-byte payload. TCP sends the remaining 647 bytes in a small packet because TCP reached EOB:
(22 packets) x (1460 bytes of user data/packet) + (647 bytes of user data) = 32,767 bytes of user data.
When TCP sends the final 1699 bytes of data, you will see one packet that contains 1460 bytes of user data and one packet that contains 239 bytes of user data, sent as a small packet because TCP reached EOF.
[ top of page ]
How do I configure Windows 2000 endpoints for testing with a Service Quality?
Solution
To install the QoS Packet Scheduler, do the following:
1. Right-click My Network Places and select Properties.
2. Right-click Local Area Connection and select Properties.
3. Click Install.
4. Select Service and click Add.
5. A list appears. Highlight the list item QoS Packet Scheduler and click OK. The QoS Packet Scheduler will now appear in the list of installed components.
6. Restart your computer to ensure that the QoS Packet Scheduler is properly initialized.
Windows 2000 allows you to test with IxChariot's TOS and DiffServ templates for TCP, UDP, and RTP if you make the necessary change to the registry:
WARNING: Using the Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Ixia cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved.
Make sure that you backup your Registry prior to making any changes.
1. Click Start|Run.
2. type " regedit" and hit ENTER.
3. Browse the registry for the following folder: HKEY_LOCAL_MACHINE\ System\
CurrentControlSet\Services\Tcpip\Parameters\4. Select the Parameters folder selected in the left-hand pane. Right-click in the right-hand pane and select New|DWORD.
5. Name the DWORD value " DisableUserTOSSetting" and leave the default value of zero (0).
6. Restart the endpoint computers after you change the registry settings. You can now run your test.
Additional Information
Windows 2000 now has TCP/IP QoS support, although it may not be installed as part of the basic Windows 2000 operating system installation. Windows 2000 provides a component called the QoS Packet Scheduler. If this component is installed, QoS tests can take advantage of Microsoft's GQoS support for DiffServ marking.
[ top of page ]
How do I use the API to extract results from a IxChariot test?
Solution
Use the CHR_pair_results_get* functions in C or the chrPairResults get function in TCL to get the results that IxChariot calculates for throughput, transaction rate, response time, jitter, delay variation, consecutive lost datagrams, MOS estimate, round trip delay, one way delay, the R-value used to determine MOS, and end to end delay.
If you wish to do your own calculations with raw data, you may extract the raw results from the pair objects in your test using the CHR_common_results_get* functions in C or the chrCommonResults get function in TCL to obtain your data.
Additional Information
The complete documentation for the API is included with IxChariot's help file. You may also download it from /support/endpoint_library/ .
[ top of page ]
How large is the data file that IxChariot creates when I choose a data type of NOCOMPRESS in my script?
Solution
The data file that IxChariot creates when you choose NOCOMPRESS as your data type is 200 KB (204,800 bytes).
[ top of page ]
CHR0315 Reason Code 5
Symptoms
Error: CHR0315 Reason Code 5
Error during registration
Error: "CHR0315: A license could not be obtained because a valid license file could not be found. The reason code is 5."
Cause
Another software product installed on the same computer as IxChariot 3.2 set the LM_LICENSE_FILE environment variable.
Solution
1. Start the System application in Control Panel.
2. If your computer is running Windows NT, click the Environment tab. If your computer is running Windows 2000, click the Advanced tab. Then click Environment Variables...
3. Highlight the LM_LICENSE_FILE environment variable from the list of System variables.
4. Click Edit...
5. Add the IxChariot installation directory path to the end of the current value of the LM_LICENSE_FILE environment variable, separated by a semicolon. For example, at the end of the current value of the variable, type C:\Ganymede\Chariot.
6. Click OK in each open window to return to the Control Panel.
[ top of page ]
Can I use endpoints running on different operating systems in the same active network test?
Solution
The Ixia Performance Endpoints will communicate across platforms, as long as you have installed the OS-appropriate Performance Endpoint on the machines you specify in your test. For VoIP testing, you may use a combination of Microsoft Windows NT/2000/XP, Linux, and Solaris endpoints in your testing.
Additional Information
With version 2.0, the names of VoIP Assessor and VoIP Manager have changed to Vivinet Assessor and Vivinet Manager.
[ top of page ]
How do I manually uninstall Deterministic NDIS Extender (DNE)?
Solution
1. Go to Start | Settings | Control Panel | Network and Dial-up Connections.
2. Open your local area connection (whatever this may be called) and click Properties.
3. Select Deterministic Network Enhancer.
4. Click Uninstall.
5. After uninstallation, verify that all the necessary Deterministic Network Enhancer files and directories are deleted.
Windows NT 4.0 Windows 2000 dne.sysoemsetnt.infdne2000.sysdne2000.exedne2000.infdne2000m.infdne2000m.cat (when digital signature is available)dneinobj.dll6. Delete the \Program Files\Common Files\Deterministic Networks\ directory and all its contents.
7. Reboot the machine.
[ top of page ]
Where do I find my deregistration key once I close the deregistration wizard?
Solution
IxChariot generate a file called
deregister.datthat contains your most recent deregistration key. You may open and read this file in any text editor.To find
deregister.daton your machine, look in the appropriate installation directory.
/support/endpoint_library/IxChariot
/support/chariot/Vivinet Assessor
/support/chariot/
Additional Information
With the release of version 2.0, the name of VoIP Assessor has changed to Vivinet Assessor.
[ top of page ]
How do I determine application-layer throughput?
Solution
IxChariot calculates throughput in a single pair for a non-streaming script using this equation:
(Bytes_Sent + Bytes_Received_By_Endpoint_1) / (Throughput_Units) / Measured_Time
For a single pair running a streaming script or VoIP script, IxChariot uses the following equation to calculate throughput:
bytes received (by E2) / Measured time
IxChariot calculates the average throughput of a group for a non-streaming script with the following equation:
[bytes_sent + bytes_received (total for all pairs)] / elapsed time
IxChariot calculates the average throughput for a group of pairs running a streaming script or VoIP script using this equation:
bytes_received_by_endpoint_2 (total for all pairs) / elapsed_time
When you use a multicast group in your test, IxChariot uses this equation to calculate the average throughput of the multicast group:
max total bytes received by any multicast E2 / elapsed time
Additional Information
Application-layer throughput measures only the traversal of the data payload across the network and does not include headers that lower layers append to the data payload in order to transport the data across a network. As a result, the maximum theoretical throughput at the application layer is always a percentage of the actual line speed and never equals the line speed.
[ top of page ]
How do I start and stop the Performance Endpoint on Red Hat Linux?
Solution
To start the Performance Endpoint on Red Hat Linux, type the following at a Linux command line prompt.
/var/local/endpoint.console.To stop the Performance Endpoint on Red Hat Linux, type the following at a Linux command line prompt.
/support/endpoint_library/ -k
Additional Information
Do not use
kill -9to stop the Performance Endpoint. This command does not stop the endpoint cleanly.You may download standard documentation for the Performance Endpoint for Red Hat Linux Endpoints, in Adobe Acrobat format, from the following location of the Ixia Web site.
[ top of page ]
Error: 'CHR0359: An error was detected in the high precision timer.'
Symptoms
Call performance results are not calculated.
Cause
A hardware problem with the computer's high-precision timer may prevent the Endpoints from obtaining Call Performance results, including one-way delay and the Mean Opinion Score (MOS).
Some computers have a hardware problem that occasionally prevents access to the high-precision timer when there is heavy bus traffic. This problem may intermittently prevent the results of a Call Performance test from being calculated.
See the following Microsoft Knowledge Base article, for more information about the problem and the affected PCs.
http://support.microsoft.com/support/kb/articles/Q274/3/23.asp
Solution
It is recommended that you not use machines known to have this problem for VoIP testing or call performance monitoring.
[ top of page ]
How do I run a IxChariot test for a fixed duration of time without modifying the script?
Solution
You can run IxChariot tests for a duration of time, as opposed to modifying the IxChariot Script variables. With this option, all endpoint pair scripts run for a fixed period of time, ignoring the number_of_timing_records value in their output loop. At the end of the period, the endpoints stop and Endpoint 1's return their results.
To complete this task, please take the following steps:
1. Open your IxChariot Console.
2. Create your new IxChariot test.
3. Go to Run | Set Run Options.
You will now see several fields separated by brackets. Locate the second field, How to end a test run. You may now select the radio button, Run for a fixed duration.
You can now select the duration of time you would like this test to run. You can select any time ranging from 1 second to 99 hours, 59 minutes, and 59 seconds. Although the default setting is 1 minute, Ixia recommends 2 to 5 minutes for most performance testing. It is important to test for a sufficient length of time to generate at least 10 timing records; the records represent data samples, and you will need enough samples to ensure test reliability.
Additional Information
You may set a much longer duration for stress testing. However, because application scripts generate roughly 50 timing records per minute on a LAN, setting the duration to long time periods can generate an enormous number of timing records, potentially exceeding the storage capacity of some console computers.
Ixia recommends using the Script Editor to tune the inner loops of your scripts so that they generate timing records less frequently. Experiment before running multi-hour, multi-pair stress tests. The run time duration is checked every time an END_LOOP or END_TIMER command executes. This may cause the actual run time to slightly exceed the run time you type here. The "fixed duration" option for performance testing is useful because it avoids situations in which some endpoint pairs complete their scripts long before the others, leaving the last pairs a nearly empty line over which to communicate. But be careful not to overstress your network with extraordinarily long tests and many pairs.
[ top of page ]
The High Performance Throughput script gets different results than the Throughput script under the same conditions.
Cause
The following points explain why the High Performance Throughput script results are different.
The High Performance Throughput script utilizes Microsoft's Overlapped IO socket operation and the Throughput script does not.
The High Performance Throughput test also uses a send_buffer_size of 65535 bytes and the Throughput test uses DEFAULT, which instructs the endpoint to use the default buffer size for the API of the protocol and platform. (For TCP on Microsoft Windows systems, that number is 32767). Please see the IxChariot online help article "DEFAULT Values for Endpoints" for more details.
The file size in the test is 10,000,000 bytes in the High Performance Throughput script and 100,000 bytes in the normal Throughput script. The High Performance Throughput script is sending more data in a typical 100 Timing Record IxChariot test than the Throughput script.
[ top of page ]
What are the best scripts to simulate a SAP real-world environment?
Solution
The best scripts to use as a simulation for SAP are the SAPpuror.scr and SAPinv.scr . The SAPpuror.scr will simulate a SAP Purchase Order. The SAPinv.scr simulates a SAP Invoice creation. These are the best scripts to use as these are common functions of SAP in most environments.
[ top of page ]
What are the best practices for running Chariot tests for an extended period of time? (24 hours or longer)
Solution
The following information works for test pairs that are not VoIP or streaming:
You can run a IxChariot test for a maximum fixed duration of 99 hours. The one thing to look out for when running a test for an extended period of time is the total number of timing records in the test. The bold Timing Records Completed for all pairs can be found in the results of the test. If this number becomes more than 10,000 then the EndPoints will begin to experience performance issues, and modifications to the test pairs should be made to reduce that number. Edit the scripts for each pair in the test and double the number of transactions specified. This will effectively half the number of timing records that will complete in the same period of time. If the timing records are more than 20,000 then simply increase the transaction accordingly.
If your VoIP pairs are creating too many timing records, edit the pair configuration and increase the timing record duration to 6 or 10 seconds to reduce the number of timing records generated.
If your test pairs are running streaming scripts, edit the script, and increase the size of the file_size variable until the timing records are under 10,000 for the duration of the test.
Additional Information
You can find the "Run for a fixed duration" option under the Run menu in the test, and then click "Set Run Options".
[ top of page ]
VoIP test results do not include a MOS score or one-way delay.
Symptoms
A VoIP test in IxChariot completes, but no MOS scores or one-way delay are being reported.
Cause
VoIP tests require UDP clock syncing packets to flow between EP1 and EP2 over Port 10115. Also, a restrictive firewall can block types of test traffic to flow between endpoints.
Solution
Open Port 10115 for UDP in both directions through the firewall.
[ top of page ]
What ports do IxChariot and VoIP Assessor use in a VoIP test when ports are set to AUTO?
Solution
IxChariot VoIP tests use even numbered ports, 16384 and up, when set to Auto Port.
[ top of page ]
How is 'throughput' calculated?
Symptoms
How does IxChariot calculate throughput?
Solution
Throughput Calculation
Throughput measures the amount of data (bits or bytes/second) that can be sent through the network. It is a useful performance indicator for file transfer and multimedia applications. Throughput is calculated with the following equation.
Throughput = ((Bytes_Sent + Bytes_Received) / Throughput_Units) / Measured_Time
Bytes_Sent the number of bytes sent by Endpoint 1 of a pair Bytes_Received the number of bytes received by Endpoint 1 of a pair Throughput_Units the current throughput units value, in bytes per second. For example, if the throughput units are KBps, the Throughput_Units number is 1024. Measured_Time the time, in seconds, taken to complete all the transactions for a given connection pair The throughput measured by endpoints is application transaction throughput, which is not the same as wire throughput because it excludes the overhead associated with protocol headers and acknowledgments.
IxChariot Specific Calculations
Average throughput of a group is calculated this way for a non-streaming script.
bytes_sent + bytes_received (total for all pairs) / elapsed timeIf you are running a streaming script, the following equation is used.
bytes received (by E2) / Measured timeAverage throughput for a group of pairs running a streaming script is calculated this way.
bytes_received_by_endpoint_2 (total for all pairs) / elapsed_timeAverage throughput for a multicast group is calculated in this way.
max total bytes received by any multicast E2 / elapsed time
In all calculations, elapsed time is the elapsed time of the longest-running pair in the test. The measured time is the sum, in seconds, of all the timing record durations returned for the endpoint pair.
Here is how each of the script variables is defined.
Bytes_Sent - the number of bytes sent by Endpoint 1 of a pair.
Bytes_Received - the number of bytes received by the endpoint of a pair.
Throughput_Units - the current throughput units value, in bytes per second. For example, if the throughput units are KBps, 1024 is the Throughput_Units value. In this example, the throughput units number is shown in the column heading as Mbps, which is 125,000 bytes per second (that is, 1,000,000 bits divided by 8 bits per byte).
[ top of page ]
How is Mean Opinion Score (MOS) calculated?
Solution
Ixia uses a modified version of the ITU G.107 standard E-Model equation to calculate a Mean Opinion Score (MOS).
The E-Model, developed by the European Telecommunications Standards Institute (ETSI), has become ITU standard G.107. This algorithm is used to evaluate the quality of a transmission by factoring in the "mouth to ear" characteristics of a speech path.
In calculating the MOS score, the software modifies the E-model slightly, using the following factors to calculate the MOS.
Codec Selection - Different codecs provide different data rates and compression ratios.
Delay - Delayed datagrams are perhaps the single greatest hindrance to VoIP call quality. This value includes all delay factors between the endpoints.
Jitter - Jitter, or variations in datagram interarrival times, affects call quality, especially when it exceeds the buffering capacity of a jitter buffer. Excessive jitter and jitter buffer overruns are equivalent to datagram loss, which reduces call clarity.
Lost Data - When a datagram is lost, you can lose an entire syllable, and the more datagrams that are lost consecutively, the more the clarity suffers. The software factors in lost data when estimating the MOS.
An MOS of five is excellent; an MOS of one is unacceptably bad. The following table (taken from ITU G.107) summarizes the relation between the MOS and user satisfaction.
Mean Opinion Score (lower limit) User Satisfaction R Factor 4.34 Very satisfied 90 4.03 Satisfied 80 3.60 Some users dissatisfied 70 3.10 Many users dissatisfied 60 2.58 Nearly all users dissatisfied 50 The Mean Opinion Score (MOS) in the scale 1-5 can be obtained from the R-factor using the formula:
For R < 0: MOS =1
For 0 < R < 100: MOS =1 +0.035 R + R( R-60)(100- R)7*10-6
For R > 100: MOS =4.5The mapping is correct due to Annex G113 and for Codecs not covered in 113 then the numbers are done at the MOS lab of Nortel.
[ top of page ]
What is the theoretical max of Mean Opinion Score (MOS) for all codecs?
Solution
In a voice over IP transmission, the codec samples the sound and determines the data rate. You can perform voice over IP assessments using six codec types, represented by six call scripts. See VoIP Assessor help topic "Working with Call Scripts" for more information.
ITU standard for H.323-compliant codecs uses the u-law for companding, the most frequently used method in the USA. PLC is an option.
ITU standard for H.323-compliant codecs uses the A-law for companding, a popular standard in Europe. PLC is an option.
G.726
A waveform coder that uses Adaptive Differential Pulse Code Modulation (ADPCM). ADPCM is a variation of pulse code modulation (PCM), which only sends the difference between two adjacent samples, producing a lower bit rate.G.729
High-performing codec; offers compression with high quality.G.723.1--MPMLQ
Uses the multipulse maximum likelihood quantization (MPMLQ) compression algorithm.G.723.1--ACELP
Uses the conjugate structure algebraic code excited linear predictive compression (ACELP) algorithm.In the table below, the " packetization delay" refers to the delay this codec introduces as it converts a signal from analog to digital; this delay is included in the MOS estimate, as is the " jitter buffer delay," the delay introduced by the effects of buffering to reduce interarrival delay variations. See VoIP Assessor help topic "Score Calculation" for more information.
Packet loss concealment (PLC) is an additional option if you're using the G.711u or G.711a codecs. PLC describes a number of techniques for minimizing or masking the effects of data loss during a VoIP conversation, including replaying the last received packet and estimating the lost packet's content. When PLC is enabled, VoIP Assessor assumes that the quality of your conversation would be improved, but this improvement is only factored into the MOS estimate calculation if any data is lost. At present, PLC is rarely used.
Codec Default Data Rate Default Datagram Size Packetization Delay Default Jitter Buffer Delay Theoretical Maximum MOS G.711u 64 kbps 20 ms 1.0 ms 2 datagrams
(40 ms)4.40 G.711a 64 kbps 20 ms 1.0 ms 2 datagrams
(40 ms)4.40 G.726 32 kbps 20 ms 1.0 ms 2 datagrams
40 ms4.22 G.729 8 kbps 20 ms 25.0 ms 2 datagrams
(40 ms)4.07 G.723.1 MPMLQ
6.3 kbps 30 ms 67.5 ms 2 datagrams
(60 ms)3.87 G.723.1 ACELP 5.3 kbps 30 ms 67.5 ms 2 datagrams
(60 ms)3.69
Additional Information
The smallest jitter buffer allowed is 10 ms; this size is used to calculate the theoretical maximum MOS.
[ top of page ]
An error results when installing the Performance Endpoint on a system with dual NIC's and load balancing is turned on.
Symptoms
An error results when installing Ixia Performance Endpoint on a system with NIC's running a TEAM'ed configuration (Compaq Network Fault Tolerant Team - Smart Switch).
Cause
Ixia does not support installing or running Performance Endpoints on a load balancing configured system.
Additional Information
Blue Screen Trap (BugCheck, STOP: 0x000000D1 (0x00000026, 0x00000002, 0x00000000, 0xEB2F2BCD)
[ top of page ]
How do I use a TCL (Tool Command Language) script to create, configure and run a IxChariot test?
Solution
The following two tasks must be completed before you can run a IxChariot test.
1. TCL must be installed on the IxChariot console system. The IxChariot package requires TCL version 8.0.p2 or higher; however, versions higher than 8.0.p5 are not supported. Changes to later versions of TCL are not compatible with the Ixia TCL extensions to C. TCL version 8.0.p2 can be downloaded from the Scriptics HTTP download site (link provided below).
ftp://www.scriptics.com/pub/tcl/tcl8_0/
2. The files required to compile and link your program are included on your IxChariot CD-ROM. There is one include file required for compiling and one library file required for static linking.
The include file,
CHRAPI.H, is located in thesdk\includedirectory of the CD-ROM. This file can either be copied into your source file directory or copied to a location identified by theINCLUDEenvironment variable.The library file,
CHRAPI.LIB, is located in thesdk\libdirectory of the CD-ROM. This file can either be copied into your source file directory or copied to a location identified by theLIBenvironment variable. If you choose to dynamically link to the IxChariot API, the file nameCHRAPI.DLLshould be used.
The following is an example of how to use a TCL script to create, define, run, and save a IxChariot one-pair test. Please feel free to use this as an example script in your own environment by simply changing the appropriate variables. The “#� character is used for remarks in a TCL script, anything after # on the same line will not be executed by the compiler.
# statements for use later in the test.# These should be customized for your particular environment.set e1 "pdxreedb05"set e2 "pdxrudine02"# If you wish to save the test results, the save command must be told
# to wait for a set amount of time (in seconds) once the test is started.
set timeout 120# You must load the IxChariot package before you can use any
# of its commands. If this fails, detailed information about
# the reason is printed and is appended to $errorInfo.
load IxChariot
package require IxChariot# You must create a test object to define a new test
# or to load an existing test from disk.
set test [chrTest new]# You must create a pair object in order to define it.
set pair [chrPair new]# Once you have a pair, you can define its attributes.
chrPair set $pair E1_ADDR $e1 E2_ADDR $e2# You must define a script for use in the test.
chrPair useScript $pair $script# Now that the pair is defined, you can add it to the test.
chrTest addPair $test $pair# The test is setup, now we can run it.
chrTest start $test# Wait for the test to stop before looking at
# the results from it. Wait 2 minutes, then
# call it an error if it has not yet stopped.
if {![chrTest isStopped $test $timeout]} {
puts "ERROR: Test didn't stop in 2 minutes!"
return
}# Finally, save the test so you can look at it again.
chrTest save $test $testFile# The test was saved successfully, so it is done!
return
[ top of page ]
How do I use a TCL (Tool Command Language) to run a test that's already been saved?
Solution
The following two tasks must be completed before you can run a IxChariot test.
1. TCL must be installed on the IxChariot console system. The IxChariot package requires TCL version 8.0.p2 or higher; however, versions higher than 8.0.p5 are not supported. Changes to later versions of TCL are not compatible with the Ixia TCL extensions to C. TCL version 8.0.p2 can be downloaded from the Scriptics HTTP download site (link provided below).
ftp://www.scriptics.com/pub/tcl/tcl8_0/
2. The files required to compile and link your program are included on your IxChariot CD-ROM. There is one include file required for compiling and one library file required for static linking.
The include file,
CHRAPI.H, is located in thesdk\includedirectory of the CD-ROM. This file can either be copied into your source file directory or copied to a location identified by theINCLUDEenvironment variable.The library file,
CHRAPI.LIB, is located in thesdk\libdirectory of the CD-ROM. This file can either be copied into your source file directory or copied to a location identified by theLIBenvironment variable. If you choose to dynamically link to the IxChariot API, the file nameCHRAPI.DLLshould be used.
The following is an example of how to use a TCL script to run an existing IxChariot test with one pair defined. Please feel free to use this as an example script in your own environment by simply changing the appropriate variables. The “#� character is used for remarks in a TCL script. Anything following "#" on the same line will not be executed by the compiler.
# This sets the variable used for the save location.
# If you wish to save the test results, the save command must be told
# to wait for a set amount of time (in seconds) once the test is started.
set timeout 120# You must load the IxChariot package before you can use any of its
# commands. If this fails, detailed information about the
# reason is printed and is appended to $errorInfo.
load IxChariot
package require IxChariot# You must create a test object to define a new test
# or to load an existing test from a saved test file.
set test [chrTest new]# You must create a pair object in order to define its properties.
set pair [chrPair new]# Load existing IxChariot test file.
# Getting pair count from loaded test.
chrTest getPairCount $test# Get pair properties from the test and set them to the new
# chrPair object.
set pair [chrTest getPair $test 0]# Clear the test results in loaded test.
chrTest clearResults $test# Unlock the pair variable to make changes.
chrPair set $pair LOCK 1# Set E1 host address.
chrPair set $pair E1_ADDR "TCLSystem1"# Set E2 host address.
chrPair set $pair E2_ADDR "TCLSystem2"# Lock the pair variable again.
chrPair set $pair LOCK 0# A test is defined, and now can be run.
chrTest start $test# Wait for the test to stop befo
Français
Deutsch
Italiano
日本語
עברית
한국어
中文
Español
Русский