我接受对方ws推送的数据,并发量非常大,每秒200条数据。我count只有一个, 现在是对方推送的数据时间和我接受的数据时间,会越来越大。
我是把数据存在global中,另一个进程来读数据的
是不是有什么耗时操作比如存数据库啥的导致慢了。业务全部都去掉,只记录日志看下慢不慢。 按道理每秒接收200条不会慢,除非带宽不够,或者业务逻辑慢,也有可能对方发送越来越慢。
我再onMessage把所有的业务代码注释了,获取对方推送过来的数据,时间是对的上的。 我怀疑是我用了GlobalData变量共享组件,我把数据存入global,然后另一个进程读取数据采用的是Timer轮询的方式读取,然后时间就对不上了。 但是为什么喃? 想不明白
我测试了是GlobalData 赋值的时候, 阻塞了我onMessage,导致时间越来越差距远, 那么我如何解决啊?
请求量大的话没必要每次都把数据存GlobalData。你可以用变量缓存一会儿,然后在合适的时机存进去,比如用定时器每秒保存一次啥的。
是不是有什么耗时操作比如存数据库啥的导致慢了。业务全部都去掉,只记录日志看下慢不慢。
按道理每秒接收200条不会慢,除非带宽不够,或者业务逻辑慢,也有可能对方发送越来越慢。
我再onMessage把所有的业务代码注释了,获取对方推送过来的数据,时间是对的上的。 我怀疑是我用了GlobalData变量共享组件,我把数据存入global,然后另一个进程读取数据采用的是Timer轮询的方式读取,然后时间就对不上了。 但是为什么喃? 想不明白
我测试了是GlobalData 赋值的时候, 阻塞了我onMessage,导致时间越来越差距远, 那么我如何解决啊?
请求量大的话没必要每次都把数据存GlobalData。你可以用变量缓存一会儿,然后在合适的时机存进去,比如用定时器每秒保存一次啥的。