Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在只有一个numa的时候,开启多核的时候并发数不准 #213

Closed
zrgtester opened this issue Dec 7, 2022 · 12 comments
Closed

Comments

@zrgtester
Copy link

我开启多核测试并发连接数,设置cc和cps后,发现客户端配置不同的keep_alive值会有可能超过或者达不到设置的cc值,需要调节keep_alive值才能达到预期,而且不是很准确;我换成单cpu就好了。
部分配置如下:我的计算方式,一个连接持续时间2s*33=66s,虽然设置cps是2000,但是实际只有1500,经过大约66s后达到100k左右。
mode client
tx_burst 128
launch_num 10
cpu 0-3
socket_mem 2500,0,0,0
payload_size 1
rss auto
duration 10m
cps 2000
cc 100k
keepalive 2s 33

@pengjianzhang
Copy link
Collaborator

pengjianzhang commented Dec 7, 2022

hi zrgtester,

如下几个方面请调整一下:

  1. 如果是物理网卡,使用FDIR效果最好,需要多配IP地址,不需要设置rss,请注释rss配置项
  2. 一般情况下 tx_burst不需要配置,除非测试大带宽
  3. 在测试大并发的情况下,建议keepalive设置超时为60秒,或者更大,请求次数设置为无限,例如keepalive 60s,服务器的keepalive 超时要比客户端大,例如80s
  4. 为了降低连接爬坡时间,可以把cps调大,例如10000

配置修改如下
mode client
tx_burst 128
launch_num 10
cpu 0-3
socket_mem 2500,0,0,0
payload_size 1
#rss auto
duration 10m
cps 10k
cc 100k
keepalive 60s

另外,dperf已经支持了dpdk-22.11.1,请clone最新代码,帮忙测试一下。
这是编译指导:
https://zhuanlan.zhihu.com/p/589713683
https://github.com/baidu/dperf/blob/main/docs/build.md

如果喜欢dperf,请向周围的朋友推荐、宣传一下,谢谢

@zrgtester
Copy link
Author

设置多核的时候cpu 0-3,提示必须要使用rss参数;另外当我设置多核的时候,没有开启numa时,实际并发数不能符合设置的cc值,这个麻烦看看怎么回事。比如:cpu 1-2
socket_mem 2500
payload_size 1
rss auto
duration 10m
cps 10k
cc 330k。

统计显示的cc值已经达到skCon 2,523,192。

@pengjianzhang
Copy link
Collaborator

你是物理网卡吗?

@zrgtester
Copy link
Author

是的,两个网口,一个作为server。一个作为client

@pengjianzhang
Copy link
Collaborator

物理网卡 应该不需要配置rss才对

@pengjianzhang
Copy link
Collaborator

pengjianzhang commented Dec 7, 2022

什么网卡,网卡支持FDIR吗?

@zrgtester
Copy link
Author

确实是物理网卡,插了网线和对端交换机,dpdk接管我用的是uio_pci_generic。这个会影响到多核的使用导致cc不准的问题吗?

@pengjianzhang
Copy link
Collaborator

RSS TCP会有较大的不准,UDP会好很多,你试试UDP协议

@pengjianzhang
Copy link
Collaborator

pengjianzhang commented Dec 7, 2022

不配rss的报错是什么
你把整个配置贴一下,是不是IP地址配的数量不对?

@zrgtester
Copy link
Author

报错Error: 'rss' is required if cpu num is not equal to server ip num;
是保持一致才能使cc准确吗?

@pengjianzhang
Copy link
Collaborator

是的,请参考
https://github.com/baidu/dperf/tree/main/test/ 里面的配置,这些都是物理机的配置,cpu数目 与server的IP数目一致,client的IP数目尽量给多一点,如100个

@zrgtester
Copy link
Author

修改一致后,问题已经解决;多谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants