我正在尝试测量网络系统的效率,并寻找一种可以限制每次测试的最大带宽或理想情况下限制 CPU 利用率的工具。最后我需要得到一个答案,例如“10% 的 CPU 带宽是 10Gbit/s”。
单独测试带宽的自然选择是 iperf 工具,但是它似乎总是利用 100% 的 CPU,这使得它对此毫无用处。
答案1
我猜你有多个 CPU。然后查看 cpuset 和 cpushares。使用 cpuset,你可以将特定进程固定到特定 CPU。然后使用 cpushares,你可以限制 CPU 利用率。
答案2
您可以考虑Apache JMeter该工具可以将其连接限制到定义的吞吐量值,您可以通过操作以下属性来设置该值:
httpclient.socket.http.cps=0 httpclient.socket.https.cps=0
其中
cps
代表characters per second
参考:
为了限制每个进程的 CPU 使用率,你可以使用任务集和CPU限制命令组合,查看使用 nice、cpulimit 和 cgroups 限制进程 CPU 使用率文章了解更多详细信息。