首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php-resque将数据排队到redis是很慢的。

使用php-resque将数据排队到redis是很慢的。
EN

Stack Overflow用户
提问于 2017-04-07 11:41:07
回答 1查看 306关注 0票数 1

我用php-resque来排队我的工作。我正在使用apache工具来测试我的性能。

php-resque做得很好,但是每次它连接到redis时都很慢,这会影响性能(如果没有连接,它会处理~130 Requests/sec,用Resque::enqueue处理~30 requests/sec)。

因此,我想通过exec将数据传递到另一个文件,该文件将在后台连接redis和queus作业,但发现exec的速度要慢得多。

下一个是什么?我怎样才能让它更快地处理红葡萄酒排队。

注意:我使用这个命令来测试性能。

代码语言:javascript
复制
ab -n 1000 -c 10 "http://localhost/index.php"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-07 12:43:58

我找到了办法。

以下是几个步骤:

在深入挖掘php-resque之后,我发现它使用的是fsockopen,这使得它变得很慢。

然后,我在我的ubuntu机器上安装了php-redis。通过执行以下命令。

代码语言:javascript
复制
sudo apt-get install php5-redis

然后通过以下方式重新启动apache服务器:

代码语言:javascript
复制
sudo service apache2 restart

然后通过下面的代码行与redis连接。

代码语言:javascript
复制
<?php 
$redis = new Redis();
$result = $redis->connect('127.0.0.1'); 
$id = md5(uniqid('', true));
$redis->set("resque:job:$id",$args);
$redis->close();
unset($redis);

在此之后,代码测试给出了更好的性能,(~70 requests/second)比以前提高了一倍。

注意:这里pconnect代表持久连接,它比connect__更快。

希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43277234

复制
相关文章

相似问题

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