首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel速度(太慢)

Laravel速度(太慢)
EN

Stack Overflow用户
提问于 2016-10-19 10:40:42
回答 1查看 3.5K关注 0票数 0

我正在尝试开发一个API来将来自多个应用程序的警报存储到数据库中。我正在用Laravel开发api。

我编写了一个C程序,它向API发出多个post请求,以查看laravel进程可以处理多少个请求。

我在api.php中有以下路线

代码语言:javascript
运行
复制
Route::post('/alarm', 'Api\v1\AlarmController@store');

在我的控制器中,我使存储函数将在post请求中接收到的报警值存储到数据库中。

代码语言:javascript
运行
复制
function store(Request $request)
    {

        $content = $request->getContent();

       $json_content = json_decode($content);

        $id = $this->alarm_model->newAlarm($json_content);

        echo '{ "result": '.$id.', "msg":'.$content.' }';

    } 

然后,我有一个警报模型,它将json值存储在数据库告警表中。

如果我发出1000个请求,它就无法处理所有这些请求。我得到了HttpSendRequest错误: 12002互联网超时

我做错了什么吗?每秒有多少请求允许Laravel框架?

EN

Stack Overflow用户

发布于 2016-10-19 11:18:38

据我所知,这是没有限制的,这完全取决于您的环境,如果它是一个小型服务器,我怀疑它是否能够每秒处理1000个请求。

你可以做的是利用Laravel队列

我认为您正在发生的事情是,您的服务器在试图一次完成1000个请求时过于繁忙。这会导致服务器响应“我很忙”的信号。

但是有了队列,您可以限制对服务器的压力,并使其在几分钟内发生?

如何:

  1. 创建作业php artisan make:job ProcessAlarms
  2. 在作业的句柄方法中,放入逻辑以保存警报
  3. 然后在Controller的store方法中使用这个dispatch(new ProcessAlarm($data_you_want_to_pass));
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40129065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档