我尝试使用DNSperf工具,该工具是Linux中权威名称服务器的基准测试工具。该工具具有多种功能,可在许多方面提供结果。但是我想知道一些选项-c和-q。我试图从C语言的源代码中观察它。但是我不明白。
-c从手册开始,写成
-c客户端使本地服务器能够充当多个客户端,并指定此服务器代表的客户端数量。服务器从多个套接字发送请求。默认情况下,本地服务器充当单个客户端。
实际上,它只是试图从source code发送尽可能多的内部线程作为查询。并且-c选项中输入值的最大值不能超过256,这意味着套接字的长度不应超过256吗?
还有两个:我也对-q选项感到好奇,它写为
-q num_queries设置未决请求的最大数量。达到此值后,dnsperf将停止发送请求,直到其中一个收到响应或请求超时。默认值为100。
什么是触发器运行次数达到100?我对此一无所知,因此尝试从源代码中查找,它太复杂了。
每个人都可以帮助我理解它吗?我知道我的问题很模棱两可,但是我不确定如何确切地提出正确的方法,所以请帮助我。
“-c”选项指定在执行查询时要使用多少个本地源端口。默认值为1。因此,您将仅使用一个源端口查看所有查询。最大值256表示您最多可以使用256个唯一的src端口发送DNS查询。
“-q”是队列限制。停止生成新查询时,dnsperf队列中最多可以有这么多查询。
因此,如果DNS服务器比平时慢并且需要更长的时间来响应,则dnsperf将仅生成“ -q”数量的查询并等待响应。
例如,如果将“ -q”设置为100,则dnsperf将最多生成100个查询,并等待其响应或超时。如果得到5个响应,它将生成5个新查询,并且队列将再次满100。如果dns服务器速度很快,则可能永远不会达到队列限制100,并且dnsperf将使DNS查询尽可能快。
请注意,在某些网络条件下,对-c和-q使用高值也可能会增加dnsperf工具的内存使用。