1

我想在从我的系统访问一些文件时引入延迟,以便我可以在从网络访问数据时测量延迟对我的应用程序的影响(使用netem模块进行模拟)。

我做了以下事情来实现这一点: -

我使用了两台机器Host1Host2并将应用程序要访问的文件放在可以访问的Host1硬盘上,/net/<login>/Host1/data然后启动我的应用程序并使用上述路径Host2访问数据。Host1

我还介绍了Host1使用延迟,tc qdisc del dev eth0 root netem delay 20ms这样每当从Host2应用程序访问文件时,从 Host1 访问数据的延迟应该是 20 毫秒。

我有几个疑问:

  1. 有没有一种方法可以让我在设置延迟的同一台机器上运行应用程序。我不想要我将要运行的应用程序的延迟(有时可以从另一台服务器访问应用程序,所以如果我在有延迟的机器上启动应用程序,那么应用程序也会受到影响)。那么,有没有一种方法可以只在访问文件时引入延迟。

  2. 我是否正确使用tc命令来测试我的场景。所以我只需要确认我是否正确使用了tc命令。

4

1 回答 1

1

需要明确的是,netem 旨在测试网络流量整形,而不是硬盘流量......

  1. 您可以通过构建树将您的 netem 规则限制在本地主机上的特定测试端口。它相当深奥,但可能。

  2. 一般情况对我来说是正确的。为资源提供服务的主机应该tc在其上运行。第二台主机应该是监视器/测量仪。

于 2013-06-10T20:45:54.113 回答