博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 操作命令行
阅读量:6170 次
发布时间:2019-06-21

本文共 2665 字,大约阅读时间需要 8 分钟。

目的:用java进行调用ab压测

window: cmd ab.exe

linux: sh  ab.sh

命令: abs -n 500 -c 10 https://www.baidu.com/ > out.txt  简单直观可靠

那么用java如何调用ab进行压测呢

方法一

public static void methodOne() {        String path;        if (HostUtils.isWindows()) {            path = "D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\";            String cmd = "cmd /C abs -n 300 -c 100 https://www.baidu.com/ >>abc.txt";            String[] cmd2 = new String[]{"cmd", "/C", "abs", "-n", "300", "-c", "100", "https://www.baidu.com/", ">>abc.txt"};            try {                Process process = Runtime.getRuntime().exec(cmd2, null, new File(path));                process.waitFor();                InputStream inputStream = process.getInputStream();                BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "gb2312"));                String line = null;                while ((line = br.readLine()) != null) {                    System.out.println(line);                }            } catch (IOException e) {                e.printStackTrace();            } catch (InterruptedException e) {                e.printStackTrace();            }        }    }

 

方法二

public static void methodTwo() {        try {            String result = new ProcessExecutor().command("cmd", "/C", "D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\abs", "-n 300", "-c 100", "https://www.baidu.com/", ">>D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\aa.txt")                    .timeout(60, TimeUnit.SECONDS)                    .readOutput(true).execute()                    .outputUTF8();            System.out.println(result);        } catch (IOException e) {            e.printStackTrace();        } catch (InterruptedException e) {            e.printStackTrace();        } catch (TimeoutException e) {            e.printStackTrace();        }    }

 

方法三

public static void methodThree() {        try {            Future
cmd = new ProcessExecutor().command("cmd", "/C", "D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\abs", "-n 300", "-c 100", "https://www.baidu.com/", ">>D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\aa.txt") .timeout(60, TimeUnit.SECONDS).readOutput(true).start().getFuture(); String result = cmd.get().outputUTF8(); System.out.println(result); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } }

 

压测对比:

 

 性能都差不多,看个人爱好吧

 

转载于:https://www.cnblogs.com/bestzhang/p/10366209.html

你可能感兴趣的文章
Ovum光器件首席分析师:硅光子不是唯一解决方案
查看>>
大数据发展进入快车道 未来会呈现高速增长
查看>>
JVM基础:JVM内存组成及分配
查看>>
数据库锁和数据库隔离级别
查看>>
Linux下的内核测试工具——perf使用简介
查看>>
《从问题到程序:用Python学编程和计算》——2.3 内置函数和数学函数包
查看>>
《Photoshop修饰与合成专业技法》目录—导读
查看>>
《Metasploit渗透测试手册》—第1章1.10节分析数据库中存储的渗透测试结果
查看>>
《Adobe Acrobat XI经典教程》—第2课减小文件大小
查看>>
《数据库技术原理与应用教程》一第2章 数据库的基础知识
查看>>
QuaggaJS —— 纯 JavaScript 开发的条形码扫描
查看>>
在图片中加入噪点就能骗过 Google 最顶尖的图像识别 AI
查看>>
免费下载!业界首部安卓热修复宝典出炉,阿里技术大牛联袂推荐
查看>>
OpenID 关联认证提供 CoreOS dex
查看>>
《Node.js区块链开发》一2.2 信用,决定着利益转移的方向
查看>>
Speedy:来自京东的 Docker 镜像存储系统
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>
IBM Watson 进入癌症基因组分析市场
查看>>
在 Linux 中查看你的时区
查看>>
Linux集群和自动化维1.6 小结
查看>>