压测:celey backend为rabbitmq pk redis
使用celery的backend异步获取结果,本文使用rabbitmq 和 redis分别作为backend,代码对比如下
from celery import Celery, platforms
import time
import os
from datetime import datetime app = Celery('proj',
broker='amqp://admin:admin@ip:5672', //rabbitmq
backend='amqp://admin:admin@ip:5672', //redis
//backend='redis://ip:10013/0',
include=['tasks']
)
app.conf.update(
CELERYD_PREFETCH_MULTIPLIER=,
CELERY_ACKS_LAT = True,
) @app.task
def fun_1(n):
return {"task_id": "0a14c9ac91de419880c4499a8f57418e",
"status": ,
"desc": str(n) } @app.task
def chk_total_callback(tasks_rets):
end_time = datetime.now()
print "end_time", end_time
return if __name__ == "__main__":
app.start()
发送消息
from tasks import *
from celery import group, chain
from datetime import datetime
import time #job_group = group([fun_1.s(i) for i in range()])
beg_time = datetime.now()
for j in range():
job_group = group([fun_1.s(i) for i in range()])
chain(job_group, chk_total_callback.s())()
#time.sleep(0.25) print "beg_time:", beg_time
压测场景一:
注:1000*20:一次发送1000次,分片20
|
力度 |
backend |
耗时 |
内存峰值 |
均值 |
|
1000*20 |
rabbitmq |
18:40:36-18:41:21 |
0.504G |
45ms |
|
redis |
18:48:37-18:51:21 |
11.84M |
82ms |
|
|
2000*20 |
rabbitmq |
21:57:06 -21:58:41 |
1.008G |
47.5ms |
|
redis |
18:58:52-19:04:10 |
20.26M |
159ms |
|
|
3000*20 |
rabbitmq |
21:51:40-21:54:03 |
1.512G |
47.6ms |
|
redis |
19:43:31-19:51:41 |
28.18M |
163ms |
|
|
4000*20 |
rabbitmq |
20:59:12-21:02:28 |
2.268G |
49ms |
|
redis |
20:00:00-20:10:52 |
37.10M |
163ms |
压测场景二:
500*20: 500次,每次间隔1s,分片20
|
力度 |
backend |
耗时 |
内存峰值 |
耗时 |
|
500*20 |
rabbitmq |
22:34:28-22:43:01 |
0.504G |
513s |
|
redis |
22:49:23-22:57:56 |
7.63M |
513s |
压测场景三:
8000 * 0.25 = 2000s, 任务数:8000 8000 * 20 + 8000 = 8000 * 21=168000 * 2=336000
|
力度 |
backend |
耗时 |
内存峰值 |
耗时 |
|
8000 * 0.25 = 2000s *20 |
rabbitmq |
10:51:38-11:28:06 |
1.26G |
2188s |
|
redis |
11:56:17-12:33:00 |
65.96M |
2203s |
|
|
16000 * 0.25 = 4000s *20 |
rabbitmq |
18:26:39-19:39:37 |
4.28G |
73*60=4380 |
|
redis |
20:13:57-22:49:33 |
130.69M |
9360s |
压测:celey backend为rabbitmq pk redis的更多相关文章
- 用压测模拟并发、并发处理(synchronized,redis分布式锁)
使用工具:Apache an 测压命令: ab -n 100 -c 100 http://www.baidu.com -n代表模拟100个请求,-c代表模拟100个并发,相当于100个人同时访问 ab ...
- 压测过程中出现ops断崖式下跌原因及排解
压测机器: 100台docker redis集群:16个分片 在开始压测的半个小时中,一直很稳定,ops稳定在20w左右.但是接下来突然ops断崖式下跌,ops降到了3w以下.然后持续一段时间,直至变 ...
- Docker+JMeter+InfluxDB+Grafana从容器内部发起压测
1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <526861348@qq.com># 作 ...
- 压测过程中,获取不到redis连接池,发现redis连接数高
说明:图片截得比较大,浏览器放大倍数看即可(涉及到隐私,打了码,请见谅,如果有疑问,欢迎骚扰). 最近在压测过程中,出现获取不到redis连接池的问题 xshell连接redis服务器,查看连接数,发 ...
- Lumen框架使用Redis与框架Cache压测比较
使用命令 ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.xxx'进行压测,并同时进行了交叉测试,结果如下: 高并发情况下数据目前没 ...
- 压测应用服务对RabbitMQ消息的消费能力--实践脚本
最近运维跟我反馈我负责的应用服务线上监控到消费RabbitMQ消息队列过慢,目前只有20左右,监控平台会有消息积压的告警. 开发修改了一版应用服务的版本,提交给我做压测验证. 之前没有做过消息中间件的 ...
- Redis自带压测工具(redis-benchmark.exe)
redis做压测: 可以用自带的redis-benchmark工具,使用简单 压测命令:redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 压测需要 ...
- 性能压测诡异的Requests/second 响应刺尖问题
最近一段时间都在忙着转java项目最后的冲刺,前期的coding翻代码.debug.fixbug都逐渐收尾,进入上线前的性能压测. 虽然不是大促前的性能压测要求,但是为了安全起见,需要摸个底心里有个数 ...
- 关于springmvc的helloworld的压测报告
都说hello world 很简单,应该能承受很大的请求压力,那么到底有多大?你知道吗?如果知道,那咱们就不继续了.如果不知道,我们来看一下! 1. 准备工作,快速建立一个基于springmvc的he ...
随机推荐
- Codeforces812B Sagheer, the Hausmeister 2017-06-02 20:47 85人阅读 评论(0) 收藏
B. Sagheer, the Hausmeister time limit per test 1 second memory limit per test 256 megabytes input s ...
- Maven中项目的启动
在run选项卡中,选择Run Configurations
- [mysqli_escape]mysql转义两次
// mysqli_real_escape_string // 第一次转义的结果 SELECT * FROM example WHERE f_email='example@exampl.com' an ...
- 设置cxGrid中RichEdit输入内容的格式
设置cxGrid中RichEdit输入内容的格式 (2013-09-05 23:25:31) 转载▼红鱼儿新浪博客 分类: Delphi 遇到这样的问题,利用cxGrid,将一列定义为RichEd ...
- MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟
本来MySQL BINLOG和mysqldump命令属于八竿子打不着的两个事物,但在最近故障排查中,发现主库和从库已经存在很严重的复制延迟,但从库上显示slave_behind_master值为0,复 ...
- Python3.5 学习十九 Django分模块讲解 MTV+URL
本节内容概述: 表单提交的Method使用规则:get 获取数据 post提交数据 单选使用get 多选使用getlist request.POST.getlist("favor" ...
- 阿里云ECS 介绍
1.阿里云产品概述 1 2.阿里云基础架构介绍 2 3. ECS产品概念和功能 6 4. ECS运维管理和API 12 1.阿里云产品概述 2.阿里云基础架构介绍 ECS 主要有五个主要的组成部分 作 ...
- 「雅礼集训 2017 Day1」 解题报告
「雅礼集训 2017 Day1」市场 挺神仙的一题.涉及区间加.区间除.区间最小值和区间和.虽然标算就是暴力,但是复杂度是有保证的. 我们知道如果线段树上的一个结点,\(max=min\) 或者 \( ...
- iOS-发送短信验证码倒计时
/** 发送手机验证码 */ -(void)startSenderYzmMessage{ __block ; //倒计时时间 dispatch_queue_t queue = dispatch_get ...
- 原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想)
原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想) 总体思想: 希望让调用方通过 http调用传入一个需要生成图片的网页链接生成一个网页的图片并返回图片链接 ...