找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1377|回复: 0

[求助] 关于多线程/多进程/twisted的选择,如何优化并提升效率

0

主题

0

帖子

0

积分

贫民

积分
0
水煮泡泡鱼 发表于 2021-12-29 18:39:20 | 显示全部楼层 |阅读模式
本帖最后由 水煮泡泡鱼 于 2021-12-29 18:41 编辑

有这样一个需求,把“redis中的数据读出来解析在存入到postgres中去”
能够确定的是
1、redis中的数据都是json结构并且前后互不相关,也就是说基本不存在进程之间的数据交互
2、每一个json处理基本都在都在3秒左右,但是基本没有阻塞的情况。

目前实现的方案是通过 while True写了一个监听服务,一直监听redis中是否有数据,有的话就处理。这样的服务在后台起了5个(也算是多进程?)
但是目前测试效率比较低,并且因为没有用多线程/多进程啥的,都是从redis中把数据直接pop出来然后操作,也没有锁的处理,大部分都是通过if来判断 数据是否存在。

之前查了查资料,查到一个twisted的高并发服务,但是感觉好像场景不是特别适用,代码也没有阻塞的情况。(理解错了的话可以帮忙指正一下)

想就问问各位大佬,就这个情况的话,用多线程/多进程之类的能不能提升效率。或者有什么其他的建议和优化方案。补充一下是4核的linux服务器。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表