ActionCable:为什么这么多连接?

时间:2017-06-27 05:50:46

标签: ruby-on-rails actioncable

自从在本地开发环境中尝试ActionCable。我注意到应用程序放慢速度并经常挂起。

如果我运行netstat,我会看到很多连接,由动作电缆创建。这是预期和正常吗?

 netstat -atn | grep 3000
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52163        ESTABLISHED
tcp4       0      0  127.0.0.1.52163        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52161        ESTABLISHED
tcp4       0      0  127.0.0.1.52161        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52159        ESTABLISHED
tcp4       0      0  127.0.0.1.52159        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52157        ESTABLISHED
tcp4       0      0  127.0.0.1.52157        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52155        ESTABLISHED
tcp4       0      0  127.0.0.1.52155        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52152        ESTABLISHED
tcp4       0      0  127.0.0.1.52152        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  127.0.0.1.3000         127.0.0.1.52146        ESTABLISHED
tcp4       0      0  127.0.0.1.52146        127.0.0.1.3000         ESTABLISHED
tcp4       0      0  *.3000                 *.*                    LISTEN
tcp4       0      0  127.0.0.1.3000         127.0.0.1.51682        TIME_WAIT
tcp4       0      0  127.0.0.1.3000         127.0.0.1.51688        TIME_WAIT
tcp4       0      0  127.0.0.1.3000         127.0.0.1.51684        TIME_WAIT
tcp4       0      0  127.0.0.1.3000         127.0.0.1.51686        TIME_WAIT
tcp4       0      0  127.0.0.1.3000         127.0.0.1.51667        TIME_WAIT
tcp4       0      0  127.0.0.1.3000         127.0.0.1.51690        TIME_WAIT

我尝试过改变热切加载,但似乎并没有改变这种行为

config.eager_load = true

1 个答案:

答案 0 :(得分:1)

production:
 adapter: redis
 url: redis://redis.example.com:6379

local: &local
 adapter: redis
 url: redis://localhost:6379

development: *local
test: *local

https://www.phusionpassenger.com/library/config/standalone/action_cable_integration/

点击链接

异步适配器

异步适配器用于开发/测试,不应在生产中使用。

Redis适配器

操作电缆包含两个Redis适配器:“普通”Redis和Evented Redis。两个适配器都要求用户提供指向Redis服务器的URL。另外,当为多个应用程序使用相同的Redis服务器时,可以提供channel_prefix以避免通道名称冲突。有关详细信息,请参阅Redis PubSub文档。

PostgreSQL适配器

PostgreSQL适配器使用Active Record的连接池,因此使用应用程序的config / database.yml数据库配置进行连接。这可能在将来发生变化。