压测: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 ...
随机推荐
- java基础知识-新手上路注意事项一
1.文件名,类名,字节码文件名三者的关系 源文件名:Demo.java 类名:Demo 字节码文件名:Demo.class 2.如果class定义前,加上public修饰,说明这是一个公共类,此时类名 ...
- TVS二极管
TVS管命名规则: TVS管的型号由三部分组成:系列名+电压值+单/双向符号 系列名代表不同的峰值脉冲功率和封装形式 ① SMAJ.SMBJ.SMCJ.SMDJ表示贴片封装:分别代表的峰值脉冲 ...
- [require-js]向下滑动ajax加载的javascript实现
define(function(){ function ScrollMoreInfo($wraper , loadDataFunc , json_ids , perNum , tpl_info) { ...
- 国内代码托管平台(Git)
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- MariaDB 备份与日志管理(13)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...
- Codeforces Round #425 (Div. 2) B. Petya and Exam(字符串模拟 水)
题目链接:http://codeforces.com/contest/832/problem/B B. Petya and Exam time limit per test 2 seconds mem ...
- 在MySQL Workbench查看表,表结构,索引,函数,存储过程,触发器,重连
表 表结构 索引 触发器 存储过程 函数 重新连接 出现Error Code: 2006 MySQL server has gone away时
- Alpha冲刺(3/10)——追光的人
1.队友信息 队员学号 队员博客 221600219 小墨 https://www.cnblogs.com/hengyumo/ 221600240 真·大能猫 https://www.cnblogs. ...
- 安装ORACLE时 各Linux版本下载地址
oracle linux :https://edelivery.oracle.com/osdc/faces/SearchSoftware 需要注册oracle账号 redhat官方下载 https:/ ...
- oracle数据库迁移相关
常见的实现方式: rman exp/imp expdp/impdp DG OGG 主要是看停机时间了,方法很多,数据量小,就导出,如果时间要求很高,那可以采取dg或ogg或类似的技术.减低downt ...