全部产品
云市场
云游戏

延时服务器网络

更新时间:2019-05-17 17:46:36

若您需要测试应用在服务器网络延时的情况下是否能正常运行,通过 PelicanDT 可轻松模拟服务器网络延时的测试环境。本文将介绍使用 PelicanDT 模拟服务器网络延时环境的方法。

前提条件

  • 您已安装 PelicanDT SDK,请参见安装 PelicanDT SDK
  • 您已在 Linux 远程服务器上运行应用。

操作步骤

本示例将模拟服务器网络延时为 1000 ms 且持续 10s 的测试环境,具体操作步骤如下:

  1. 将下方代码添加至您的工程,并进行以下配置:

    1. 在代码中填入您的远程服务器的 IP、用户名和登录密码等信息。

    2. 设置延时和持续时间,本示例中设置延时为 1000 ms,持续时间为 10s。

    1. import com.alibaba.pelican.chaos.client.RemoteCmdClientConfig;
    2. import com.alibaba.pelican.chaos.client.impl.RemoteCmdClient;
    3. import com.alibaba.pelican.chaos.client.utils.MemUtils;
    4. import com.alibaba.pelican.chaos.client.utils.NetTrafficUtils;
    5. import com.alibaba.pelican.deployment.element.impl.AbstractElement;
    6. import java.util.Map;
    7. /**
    8. * @author moyun@middleware
    9. */
    10. public class DemoNetTraffic {
    11. public static void main(String[] args) {
    12. //远程服务器IP
    13. String ip = "";
    14. //远程服务器用户名
    15. String userName = "";
    16. //远程服务器登录密码
    17. String password = "";
    18. RemoteCmdClientConfig config = new RemoteCmdClientConfig();
    19. config.setIp(ip);
    20. config.setUserName(userName);
    21. config.setPassword(password);
    22. RemoteCmdClient client = new RemoteCmdClient(config);
    23. //延时时间 ms
    24. int delayTime = 1000;
    25. //持续时间s
    26. int delaySecond = 10;
    27. //网络延时
    28. NetTrafficUtils.setNetworkDelay(client, delayTime, delaySecond);
    29. }
    30. }
  2. 运行您的工程。

结果验证

A 为远程服务器,B 为设置网络延时的服务器。执行示例程序前,登录 B 服务器,通过 B 服务器向 A 服务器执行 ping 命令,网络延时为 2.12 ms;执行示例程序后,网络延时为 1002 ms,10s 后恢复为 2.12 ms。