若您需要测试应用在服务器网络延时的情况下是否能正常运行,通过 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。
文档内容是否对您有帮助?