提高服务端的吞吐量的讨论
发布于 9 年前 作者 whw1988 3906 次浏览 最后一次编辑是 8 年前 来自 问答

1.是否可以把程序里面比较耗时间耗内存的 单独分出去一个进程,这样提高服务端的吞吐(因为在耗时间的那部分之前就可以返回response)

  1. dnode怎么样,来回损耗时间怎么样呢
7 回复

条件适合的话缓存如何~

@wangnan0610 具体点哈,什么缓存呢

@whw1988 比如说你要拿到一个结果,但这个结果需要计算时间很长,而且这个结果不是经常改变,完全可以把这个结果缓存下来,redis,内存,甚至数据库都可以的。这样你下次再取这个结果的时候就不用重复计算了,可以直接拿到结果~ 不过得看你具体的情况具体去分析~

耗时操作是在业务层还是数据层,数据层次的话可以用楼上说的解决,耗时间这一点不太理解,Node本身就是异步的,分布式试试吧。 如果把一部分服务分到另一台机器上处理,我觉得dnode挺合适的。

@wangnan0610 这个结果,每一时刻获取的都不一样,实时变化的

@dandananddada 耗时操作是在业务层,io是异步的,可是业务逻辑那块不是异步的,下一个request过来,肯定要等这个进程处理完上一个request

@dandananddada request1(发帖) 和 request2(获取某个帖子详情) ,虽然在耗时间的那部分之前就可以返回response1,但进程还在处理request1的后续数据处理(比如更新帖子评论数等等),这个时候request2要是请求过来,就得等待吧? 一个进程同一个时刻只能处理一个东西。

回到顶部