laravel+redis实现消息队列,模拟用户发帖,并测试高并发请求

ps:准备条件,需要学会使用消息队列,我之前的文章有写过,不懂的可以去看下
1、创建测试的控制器

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2020/3/30
 * Time: 22:08
 */

namespace App\Http\Controllers;

use App\Jobs\Notice;
use App\User;

class HomeController extends Controller
{
    public function store(){
        $user = User::query()->first();
        Notice::dispatch($user)->delay(now()->addSeconds(3));
        dd('文章发布成功');
    }
}

2、创建任务类

<?php

namespace App\Jobs;

use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

class Notice implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $user;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $user = $this->user->first();
        $content = $user->name . "发表了新文章" . time() . "\n";
        file_put_contents('./notice.txt', $content, FILE_APPEND);
    }
}

3、cmd命令进入apache的bin目录(或者nginx的执行目录)
在这里插入图片描述
4、发起1200个请求,并发量为200,后面为请求地址

ab -n 1200 -c 200 http://www.lredis.top/

在这里插入图片描述
5、最后可看到,文件如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值