延时服务器网络
若您需要测试应用在服务器网络延时的情况下是否能正常运行,通过 PelicanDT 可轻松模拟服务器网络延时的测试环境。本文将介绍使用 PelicanDT 模拟服务器网络延时环境的方法。
前提条件
- 您已安装 PelicanDT SDK,请参见安装 PelicanDT SDK。
- 您已在 Linux 远程服务器上运行应用。
操作步骤
本示例将模拟服务器网络延时为 1000 ms 且持续 10s 的测试环境,具体操作步骤如下:
将下方代码添加至您的工程,并进行以下配置:
在代码中填入您的远程服务器的 IP、用户名和登录密码等信息。
设置延时和持续时间,本示例中设置延时为 1000 ms,持续时间为 10s。
import com.alibaba.pelican.chaos.client.RemoteCmdClientConfig;
import com.alibaba.pelican.chaos.client.impl.RemoteCmdClient;
import com.alibaba.pelican.chaos.client.utils.MemUtils;
import com.alibaba.pelican.chaos.client.utils.NetTrafficUtils;
import com.alibaba.pelican.deployment.element.impl.AbstractElement;
import java.util.Map;
/**
* @author moyun@middleware
*/
public class DemoNetTraffic {
public static void main(String[] args) {
//远程服务器IP
String ip = "";
//远程服务器用户名
String userName = "";
//远程服务器登录密码
String password = "";
RemoteCmdClientConfig config = new RemoteCmdClientConfig();
config.setIp(ip);
config.setUserName(userName);
config.setPassword(password);
RemoteCmdClient client = new RemoteCmdClient(config);
//延时时间 ms
int delayTime = 1000;
//持续时间s
int delaySecond = 10;
//网络延时
NetTrafficUtils.setNetworkDelay(client, delayTime, delaySecond);
}
}
运行您的工程。
结果验证
A 为远程服务器,B 为设置网络延时的服务器。执行示例程序前,登录 B 服务器,通过 B 服务器向 A 服务器执行 ping
命令,网络延时为 2.12 ms;执行示例程序后,网络延时为 1002 ms,10s 后恢复为 2.12 ms。