我已经使用packETH有一段时间了,我一直想知道一件事。
当我在Gen-b选项上设置数据包生成速度时,我意识到packETH并没有真正按照设置发送数据包。
我认为当我在虚拟机上使用packETH时,最大速度趋于降低。
即使我将要发送的数据包数设置为:40000000并将每秒的数据包数设置为:4000000,该操作也不会在10秒内完成,相反,我认为packETH会尝试尽快发送数据包,但不能完全达到了该速度,因此决定发送数据包的速度较慢,因此需要更长的时间才能完成操作。
那么,什么决定packETH的最大数据包生成/传输速度?
它会自动调整最大速度,以便接收服务器正确接收所有数据包吗?
非常感谢您。
答案 0 :(得分:1)
我已经阅读了关于packETH的信息,但没有发现与多线程程序包发件人相关的任何内容,因此应该有问题。您想要的是一个多线程程序包发送器,它可以接收任意数量的程序包并并行发送它们。但首先,让我们关注packETH:
您尝试过哪种配置?
在“自动”模式下,您可以选择五个分发模式之一。除了随机模式,您可以通过选择不同的模式看到不同的时间。在随机模式下,生成器试图变得聪明:)。除了计时外,您还可以指定每个流的流量。在手动模式下,您可以手动选择所有参数。
在这里我找到了它:http://packeth.sourceforge.net/packeth/GUI_version.html
关于多线程发件人,我建议使用trafgen,让我们介绍一些功能:
这将帮助您不必担心限额
处理许多数据包,然后退出。如果数据包数量为0,则相当于无限个数据包。处理直到被中断。否则,以无符号整数形式给出的数字将限制处理。
这将确保并发
指定trafgen将fork(2)关闭的进程数。默认情况下,trafgen将启动与在线CPU一样多的进程,并将它们分别固定到每个CPU。允许值必须在[1,CPUs]间隔之内。