linux用ab对接口做压测

1:往数据库插入数据

我就用Laravel框架写了一个脚本往表里插100万数据

<?php
/**
 * Created by PhpStorm.
 * User: codefly
 * Date: 19-1-18
 * Time: 下午2:50
 */

namespace App\Console\Commands;

use Illuminate\Console\Command;

class AddData extends Command
{

    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature      = 'command:AddData';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description    = '插入数据';


    /**
     * Create a new command instance
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $count =1000000;
        $uid = 1;
        $num = 0;
        while ($count > 0){
            $data = ['ths_uid'  =>$uid];//数据库数据
            app('db')->table('chao_gu_users')->insert($data);
            $uid++;
            $count--;
            $num++;
            if($num == 10000){
                echo $count;
                $num=0;
            }
       }
    }
}

2:安装软件包

sudo apt-get install apache2-utils

3:请求接口

ab -n 10000 -c 500 http://www.baidu.com
//-n 发送多少个请求
  -c 并发数量
  地址写你要请求的地址

4:

### Linux 流量简介及常用工具 流量(Load Testing)是指对系统施加一定的负载,模拟真实用户的并发访问情况,以此评估系统在高负荷条件下的性能表现。对于Linux环境而言,有许多强大的开源工具可以帮助开发者轻松完成这项任务。以下是几种常见的Linux流量方法和工具: --- #### 一、使用 Apache Bench (`ab`) 进行简单HTTP请求 Apache Bench 是一款轻量级的试工具,特别适用于Web服务器性能评。它能够发送大量HTTP GET/POST 请求,并统计响应时间和成功率等指标。 ##### 示例命令: ```bash # 对 http://example.com 发送100次请求数,每次最多5个并发连接数 $ ab -n 100 -c 5 http://example.com/ ``` --- #### 二、利用 JMeter 实现复杂场景的流量仿真 JMeter是一款功能强大且易于使用的图形界面试工具,支持多种协议包括 HTTP(S), FTP, JDBC 数据库查询等等。用户可以自定义脚本创建复杂的交互过程,甚至加入随机变量来更贴近实际情况。 ##### 主要特性: - 支持分布式的采样模式,能协调多个代理同时发起攻击; - 内置丰富的监听器组件可视化分析结果图表; - 提供插件生态系统便于扩展定制化需求; --- #### 三、通过 Gatling 构建高性能异步力机群 Gatling是一个基于 Scala 开发的高度可扩展性负载生成引擎,擅长处理大规模并发连接并提供详尽报告输出。其 DSL (领域特定语言)设计直观易懂,适合非程序员也能快速上手编写高效的基准试案例集。 ##### 特点亮点: - 异步 I/O 模型极大提高了资源利用率效率; - 自动生成HTML格式的结果报表包含各种维度的数据透视表单; - 友好的社区文档和技术论坛解决问题无忧; --- #### 四、借助 Locust 动态调整虚拟用户的行为习惯 Locust以其灵活性著称于世,允许你用Python编写试脚本来精确控制每个“访客”的行动轨迹——无论是浏览网页还是提交订单都变得随心所欲。此外还具备良好的UI界面对比其他同类产品更加人性化友好。 ##### 关键优势: - 纯Python实现容易与其他服务整合集成; - 直观的任务调度算法确保公平分配工作负担; - RESTful API接口开放使得二次开发无限可能; --- #### 五、采用 Wrk 执行超高强度连续冲击实验 Wrk旨在追求极致速度而诞生,专攻高吞吐量低延迟领域的极限挑战者之一。该工具默认开启多线程模式充分利用现代CPU算力,并结合Lua 脚本语言赋予使用者更大的自由度来自定义事务流程。 ##### 基础用法示例: ```bash # 向目标URL发出每秒尽可能多的请求持续60秒钟 wrk -d60s https://target-server-url/path ``` 或者配合 Lua 脚本使用: ```bash # 加载lua脚本来进行更为细致的操作设定 wrk -t12 -c400 -d30s script.lua https://test.api.endpoint ``` --- #### 六、选择 Tsung 分布式集群联合攻势作战 Tsung是另一款优秀的开放式源码解决方案,专门针对大型网站和服务端架构打造的专业级评套件。除了常规的功能外还可以跨越物理边界组建跨区域协同作业组队进行超大范围内的综合考验活动。 ##### 技术细节概述: - 支援 Erlang/Elixir 平台天生具有容错性和伸缩性的基因特质; - 多种传输层协议适配满足不同类型业务诉求差异; - XML 配置文件简化操作流程降低学习成本门槛; --- #### 结论与建议 选择合适的工具有助于提高工作效率并且获得准确可靠的结论。如果你只是想一些简单的静态页面加载速度检,则可以选择像`ab`这样入门级别的工具;而对于那些涉及数据库读写或者其他动态内容生成的应用来说,就需要考虑功能更多元化的选项如JMeter或Locust了。无论如何,请务必提前好充分规划,明确预期目的再动手实践哦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值