顯示具有 IxChariot 標籤的文章。 顯示所有文章
顯示具有 IxChariot 標籤的文章。 顯示所有文章

How to setup a delay time before user actions or processing time.

The time parameter value on the SLEEP command lets you emulate delays caused by user actions or processing time. The SLEEP command does not consume CPU cycles; it only simulates a delay, not the CPU or disk overhead that a real application might use.

Standard SLEEP Variables
There are three standard SLEEP variables that you can select:

delay_before_responding
This variable lets you simulate a user delay or processing at the endpoint. Before the next script command is executed, the endpoint sleeps for the number of milliseconds specified.

transacton_delay
This variable lets you control how frequently transactions are executed. You can set the number of milliseconds to sleep before starting to execute additional commands. This is normally used to simulate an end user running a transaction on a regular basis; for example, once every 1 second.

initial_delay
The initial_delay variable is different from the other sleep variables. The longest allowable time for initial_delay is 90 minutes—that is, 5,400,000 ms. Longer values cause Endpoint 2 to time out, and the connection fails.

Running IxChariot in Command Line

runtst.exe test.tst.test123.tst -t 15

http://ixtutorials.blogspot.tw/2010/06/running-ixchariot-in-command-line.html

runtst.exe test.tst test123.tst -t15
執行IxChariot [configuration] [result] 無法執行15後結束

fmttst -h -s test123.tst test
將result 轉成Html檔

fmttst -v -s test123.tst test
將result 轉成CSV檔

IxChariot Highly-scalable test.

IxChariot supports a total of 100,000 pairs in a test, assuming that your test
network has the capacity to support this maximum and your IxChariot software
license permits it. This limit is independent of the specific Performance
Endpoints that you are using.

For example, if you are running Windows Vista on your endpoint computers, you
can design a test that uses 66 endpoint computers: 33 endpoint 1 computers, and
33 endpoint 2 computers. Each of the 33 endpoint 1/endpoint 2 pairs could
support 3,000 concurrent TCP connections, for a total of 99,000 TCP connections.

.......................

For example, the HP-UX Performance Endpoint, running on an endpoint
machine with 1 GB of RAM, will support of maximum of 200 TCP pairs and a
maximum of 150 UDP pairs.

Controlling TCP Packet Sizes

7. How do I control packet size in TCP tests?
There are three ways to control packet size in TCP tests. First, on systems that support it, the MSS option (#9) is
the best way to do this. The next best option is to force the MTU size as described in #10 and #11. Finally,
the packet size can be controlled by setting the send_buffer_size to the desired payload size and disabling
Nagle’s algorithm for that pair. Nagle’s algorithm is enabled by default on all systems to prevent small packets
from flooding the network; by disabling Nagle you can force small packets to be sent. You may see erratic or
low-performing behavior on some systems from using this method.

8. What is the TCP MSS?
MSS stands for Maximum Segment Size. The default MSS is based on the MTU size of the network interface
i.e. MSS = MTU – 40 (20 bytes IP header + 20 bytes TCP header). Some systems, like Linux, allow this to be
adjusted at the socket level. On these systems, you can insert a ‘Maximum Segment Size’ option at the top of a
Chariot script to control the size of frames

9. How do I control the MSS from a Chariot script?
The MSS can be controlled by the endpoint on a per-connection basis when running on Linux or IBM AIX platforms.
To enable this option, first select Insert->Maximum segment size option at Endpoint X…

















Next, set the MSS to your desired value:
















10. How do I change the packet size/MSS/MTU on a Windows system?
Microsoft Windows does not allow per-connection modification of the MSS; it can only be modified by
changing the actual MTU size of the interface. This can be done by modifying the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{xxxx-xxx-xxx- xxx}\MTU. The best way to find the correct interface key is to look at the IP address field in each one
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 fromWindows 95 Networking FAQ maintained by Richard Graves.

Max frame Size (Bytes)
MTU
= Max frame Size (Preamble + IPG)
64
46 = 64 -18
512
494 = 512 - 18
1024
1006 = 1024 - 18
1518
1500 = 1518 - 18

Integrate IxChariot and iTest by TCL


All the IxChariot TCL and C sample script save in 
        C:\Program Files\Ixia\IxChariot\SDK\samples\


save the result by time:


#set testFile "chrpairstest.tst"
set systemTime [clock seconds]
set testFile "../../../[clock format $systemTime -format %Y%m%d-%H%M%S].tst"