none
CETK Test - Winsock Perf Test fails 2 test cases RRS feed

  • Question

  • I am working on a ARM board running on CE 6.0 R3 and I have conducted the CETK Winsock Performance Test. The CETK is connected to the board using either "Microsoft Active Sync" or "TCP/IP transport for Windows CE". 

    There are 13 test cases in Winsock Perf Test and test case1001(TCP Send Throughput) and 1004(TCP Send Throughput Nagle Off) would always fail. The error message given is "Communication between server and client failed; terminating test". The things that puzzle me is it was running fine in the beginning but it will fail in the middle as follow:

    ShellProc received bad message: 0xD
    <TESTCASE ID=1001>
    *** vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    *** TEST STARTING
    ***
    *** Test Name:      TCP Send Throughput
    *** Test ID:        1001
    *** Library Path:   \perf_winsock2.dll
    *** Command Line:   -s 141.188.76.115 -i 4
    *** Kernel Mode:    No
    *** Random Seed:    15154
    *** Thread Count:   1
    *** vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    BEGIN TEST: "TCP Send Throughput", Threads=1, Seed=15154
         Send Packet  Bytes Sent   Send Rate    CPU Util
         (Bytes)      (Bytes)      (Kbps)       (%)
         -----------  -----------  -----------  --------
       *          16       160000      2101.81     68.31
       *          32       320000      5778.78     99.77
       *          64       640000      8218.30    100.00
       *         128      1280000     19806.58     99.81
       *         256      2560000     33355.05     99.84
       *         512      5120000     39233.72     78.26
       *        1024     10240000     45893.56     86.67
       *        1460     14600000      9647.31     20.24
       Communication between server and client failed; terminating test
    END TEST: "TCP Send Throughput", FAILED, Time=126.940
    *** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    The CETK will be disconnected automatically right after this.

    I am now stuck and appreciate your advice on how to troubleshoot the error.  Thanks in advance.

    Thursday, October 17, 2013 8:21 AM

All replies

  • Is it your intention to test the performance of the active sync connection or a different network connection?  If you intent is to test the performance across a different network connection are you sure the data is being routed over the other connection and not the Active Sync Connection?

    The problem that you seem to be having appears to potentially be related to sending larger packet sizes over the network as it fails when it reaches a packet size of 1460.  If you change the test arguments you can see if the failure is actually related to a certain packet size of if that is just coincidental.

    There is MSDN documentation here: http://msdn.microsoft.com/en-us/library/ee505336%28v=winembedded.60%29.aspx that outlines how the test configuration may be changed to help you to get to what works and what doesn't with your test.

    I think working through the following information may be helpful.  It may also help others to try and diagnose the problem.

    1. What network devices are available on your system?
    2. What network device are you trying to test / validate?
    3. What is the configuration of your system (Routing table and network info for all devices)?
    4. Are you sure that the network traffic is going over the intended device if there is more than one connected in your system?
    5. Have you configured the test to run different package size combinations?
    6. If testing over Ethernet have you tested it point to point (via Cross-Over Cable)?
    7. If not testing over Ethernet have you ensure that your maximum packet size supported by your device is being obeyed?

    I have no problem running this test on Windows Embedded CE 6.0 R3 on our ARM platform.  That said my configuration for testing is as such:

    1. Active Sync Disabled on platform
    2. Direct Ethernet Connection to desktop, no switch, hub or other network devices
    3. Run the test program from a command shell on Desktop and Device

    We have seen the test fail on a congested network (such as a corporate network) before.  Besides, throwing the device and desktop on a congested network will make the results less reproducible so if you have not done so already I would suggest throwing it on a direct connection to your desktop for testing (if using Ethernet.)

    Desktop Command> perf_winsockd2.exe -debug > C:\Output.Log

    Device Command> tux.exe" -o -d perf_winsock2 -c "-s IP_ADDRESS -i 4" >> "\UnitTest.WinsockPerf.Log

    You will want to modify the commands above to fit your system setup and required tests.

    Friday, October 18, 2013 10:31 PM