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

前提条件

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

操作步骤

本示例将模拟服务器网络中断 30s 的环境,具体操作步骤如下:

  1. 将下方代码添加至您的工程,并进行以下配置:
    1. 在代码中填入您的远程服务器的 IP、用户名和登录密码等信息。
    2. 设置 blockIP,即需要设置网络中断的服务器 IP。
    3. 设置中断时间,本示例中为 30 秒。
    import com.alibaba.pelican.chaos.client.RemoteCmdClientConfig;
    import com.alibaba.pelican.chaos.client.impl.RemoteCmdClient;
    import com.alibaba.pelican.chaos.client.utils.NetAccessUtils;
    
    /**
     * @author moyun@middleware
     */
    public class DemoNetAccess {
    
        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);
            //设置blockIP
            String blockIP = "";
            //持续时间s
            int delaySecond = 30;
            //网络中断
            NetAccessUtils.blockIPInput(client, blockIP, delaySecond);
        }
    
    }
  2. 运行您的工程。

验证结果

A 为远程服务器,B 为设置网络中断的服务器。执行示例程序前,登录 B 服务器,通过 B 服务器向 A 服务器执行 ping 命令,可访问成功。执行示例程序后,网络被中断,访问失败,30 秒后网络恢复,可继续访问。 image01