How to test maximum CPS(Connection per second) and maximum CC(Concurrent Connections) in Trex

100 views
Skip to first unread message

Guoliang Han

unread,
Apr 8, 2018, 4:18:44 AM4/8/18
to TRex Traffic Generator
Hi, Team:

For stateful or ASTF trex, are there official methods (or best practise) to test CPS(Connection per second) and maximum CC(Concurrent Connections) of DUT?

For example, use which pcap template/use which py,  how to tune other parameters can achieve best CPS and CC.

I used http_simple.py, which can achieve 9.2Gbps, 33.3Kcps, 20k CC on ixgbe 10G*2 DUT.
Also used http_manual_commands.py, which can achive 450Mbps, 80Kcps, 90k CC.
But it seems that still optimization can be used.

I am newbie here, Thanks a lot for your help.

Guoliang


hanoh haim

unread,
Apr 8, 2018, 1:48:42 PM4/8/18
to Guoliang Han, TRex Traffic Generator
Hi,

To add more CPS you could add more cores with v2.39, it should be about 200kcps/core.

For maximum CPS I would use (syn- syn/ack -rst)
For maximum CC I would use 
But add tunable for the delay, higher delay more CC

You will need to enlarge the maximum active flow in trex_cfg.yaml (default is 1M)


Thanks,
Hanoh

--
You received this message because you are subscribed to the Google Groups "TRex Traffic Generator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+u...@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/cd34dd02-a64b-4f34-9513-21099523234f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Hanoh
Sent from my iPhone

Guoliang Han

unread,
Apr 9, 2018, 8:02:24 AM4/9/18
to hanoh haim, TRex Traffic Generator
Really helpful, thanks.

But when I use more than 1 cores, sometimes t-rex-64 will crash, as follows:


assert: ../../src/tuple_gen.h:410 virtual void CIpInfo::return_port(uint16_t) Assertion 'is_port_legal(a)' failed.

*** traceback follows ***

1       0x56085c85c105 __assert_fail + 741
2       0x56085c89099f CIpInfo::return_port(unsigned short) + 175
3       0x56085c7f9e6f CTcpIOCb::on_flow_close(CTcpPerThreadCtx*, CFlowBase*) + 95
4       0x56085c7e83aa CFlowTable::handle_close(CTcpPerThreadCtx*, CFlowBase*, bool) + 26
5       0x56085c7fb2b9 CFlowGenListPerThread::generate_flow(bool&) + 1161
6       0x56085c7fbe8e CFlowGenListPerThread::handle_tx_fif(CGenNode*, bool) + 110
7       0x56085c81fd3f CNodeGenerator::handle_slow_messages(unsigned char, CGenNode*, CFlowGenListPerThread*, bool) + 383
8       0x56085c8287af int CNodeGenerator::flush_file_realtime<24, false>(double, double, CFlowGenListPerThread*, double&) + 1103
9       0x56085c9ad000 TrexDpCoreAstfBatch::start_astf() + 1072
10      0x56085c9ad499 TrexDpCoreAstfBatch::start_scheduler() + 9
11      0x56085c94ba99 TrexDpCore::start() + 153
12      0x56085c8159b3 CFlowGenListPerThread::start(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CPreviewMode&) + 115
13      0x56085c8433d6 CGlobalTRex::run_in_core(unsigned char) + 326
14      0x56085c84d66d ./_t-rex-64(+0x11566d) [0x56085c84d66d]
15      0x56085ca16aad eal_thread_loop + 477
16      0x7f4fc7996064 /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7f4fc7996064]
17      0x7f4fc6a1362d clone + 109


*** addr2line information follows ***

??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0


assert: ../../src/tuple_gen.h:410 virtual void CIpInfo::return_port(uint16_t) Assertion 'is_port_legal(a)' failed.

*** traceback follows ***

1       0x56085c85c105 __assert_fail + 741
2       0x56085c89099f CIpInfo::return_port(unsigned short) + 175
3       0x56085c7f9e6f CTcpIOCb::on_flow_close(CTcpPerThreadCtx*, CFlowBase*) + 95
4       0x56085c7e83aa CFlowTable::handle_close(CTcpPerThreadCtx*, CFlowBase*, bool) + 26
5       0x56085c7fb2b9 CFlowGenListPerThread::generate_flow(bool&) + 1161
6       0x56085c7fbe8e CFlowGenListPerThread::handle_tx_fif(CGenNode*, bool) + 110
7       0x56085c81fd3f CNodeGenerator::handle_slow_messages(unsigned char, CGenNode*, CFlowGenListPerThread*, bool) + 383
8       0x56085c8287af int CNodeGenerator::flush_file_realtime<24, false>(double, double, CFlowGenListPerThread*, double&) + 1103
9       0x56085c9ad000 TrexDpCoreAstfBatch::start_astf() + 1072
10      0x56085c9ad499 TrexDpCoreAstfBatch::start_scheduler() + 9
11      0x56085c94ba99 TrexDpCore::start() + 153
12      0x56085c8159b3 CFlowGenListPerThread::start(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CPreviewMode&) + 115
13      0x56085c8433d6 CGlobalTRex::run_in_core(unsigned char) + 326
14      0x56085c84d66d ./_t-rex-64(+0x11566d) [0x56085c84d66d]
15      0x56085ca16aad eal_thread_loop + 477
16      0x7f4fc7996064 /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7f4fc7996064]
17      0x7f4fc6a1362d clone + 109


*** addr2line information follows ***

??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0
??:0


./t-rex-64: line 80:  2267 Aborted                 ./_$(basename $0) $INPUT_ARGS $EXTRA_INPUT_ARGS


On 9 April 2018 at 01:48, hanoh haim <hhaim...@gmail.com> wrote:
Hi,

To add more CPS you could add more cores with v2.39, it should be about 200kcps/core.

For maximum CPS I would use (syn- syn/ack -rst)
For maximum CC I would use 
But add tunable for the delay, higher delay more CC

You will need to enlarge the maximum active flow in trex_cfg.yaml (default is 1M)


Thanks,
Hanoh

On Sun, 8 Apr 2018 at 11:18 Guoliang Han <guolian...@gmail.com> wrote:
Hi, Team:

For stateful or ASTF trex, are there official methods (or best practise) to test CPS(Connection per second) and maximum CC(Concurrent Connections) of DUT?

For example, use which pcap template/use which py,  how to tune other parameters can achieve best CPS and CC.

I used http_simple.py, which can achieve 9.2Gbps, 33.3Kcps, 20k CC on ixgbe 10G*2 DUT.
Also used http_manual_commands.py, which can achive 450Mbps, 80Kcps, 90k CC.
But it seems that still optimization can be used.

I am newbie here, Thanks a lot for your help.

Guoliang


--
You received this message because you are subscribed to the Google Groups "TRex Traffic Generator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+unsubscribe@googlegroups.com.

To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/cd34dd02-a64b-4f34-9513-21099523234f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

hanoh haim

unread,
Apr 9, 2018, 8:29:02 AM4/9/18
to Guoliang Han, TRex Traffic Generator
you should add more clients to pool
Reply all
Reply to author
Forward
0 new messages