Navigation(slides)

Benchmarks/gnsd|c 测试1

先看这个:测试时间总长为八分多钟,先以每五秒增加五个用户为时间加到100个并发用户。然后持续运行五分钟,最后以每五秒减少五用户减到0为止。

每一个用户的操作行为:

    lrs_create_socket("socket0", "TCP", "RemoteHost=192.168.2.10:7890",  LrsLastArg);
    lrs_send("socket0", "buf0", LrsLastArg);
    lrs_receive("socket0", "buf1", LrsLastArg);
    lrs_send("socket0", "buf2", LrsLastArg);
    lrs_receive("socket0", "buf3", LrsLastArg);
    lrs_send("socket0", "buf4", LrsLastArg);
    lrs_receive("socket0", "buf5", LrsLastArg);
    lrs_send("socket0", "buf6", LrsLastArg);
    lrs_disable_socket("socket0", DISABLE_SEND_RECV);
    lrs_close_socket("socket0"); 

这是具体的数据内容:

send buf0 44
        "\x00\x00\x00"
        ","
        "\x00\x00\x00\x01"
        "1234561234567890123456"
        "\x00\x00\x00\x01\x00\x00"
        "12345678"

recv buf1 16
        "\x00\x00\x00\x10\xff\x00\x00\x01\x01\x00\x00\x00\x01\x00\x00\x00"

send buf2 24
        "\x00\x00\x00\x18\x00\x00\x00\x05"
        "0"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

recv buf3 28
        "\x00\x00\x00\x1c\xff\x00\x00\x05"
        "0"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x07\x00\x00"

send buf4 8
        "\x00\x00\x00"
        "\b"
        "\x00\x00\x00\x02"

recv buf5 8
        "\x00\x00\x00"
        "\b"
        "\xff\x00\x00\x02"

可以看到,每个客户每次是连接到gnsd,再发送connect和mail count再发terminate的报文。而且每次都要收到回来的报文后再发下一个。

也就是每个用户会不停的做这样的事:

1. 连接服务器 2. 发connect 收 resp 3. 发mail count 收 resp 4. 发terminate 收 resp 5. 断开连接