自从在本地开发环境中试用 ActionCable 以来。我注意到应用程序变慢并且经常挂起。
如果我运行 netstat,我会看到许多由 action cable 创建的连接。这是预期的和正常的吗?
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
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 适配器
Action Cable 包含两个 Redis 适配器:“普通”Redis 和事件 Redis。这两个适配器都要求用户提供指向 Redis 服务器的 URL。此外,可以提供 channel_prefix 以避免在多个应用程序使用相同的 Redis 服务器时发生通道名称冲突。有关更多详细信息,请参阅 Redis PubSub 文档。
PostgreSQL 适配器
PostgreSQL 适配器使用 Active Record 的连接池,从而使用应用程序的 config/database.yml 数据库配置进行连接。这在未来可能会改变。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句