ActionCable生产缓慢

时间:2018-04-15 11:39:54

标签: ruby-on-rails ruby performance ruby-on-rails-5 actioncable

我正在为网站的客户支持构建一个基本的聊天应用程序。它在本地服务器上的开发中完美运行。我将更改推送到服务器,但它的行为非常慢。应用程序本身运行速度很快,但是pub / sub到acioncable通道很慢。

我正在使用nginx,puma用于webserver,redis用于pub / sub。我有四个频道,其中两个有重型客户端(coffee.erb文件)。 如何减少动作频道的时间?如何调试导致延迟的原因?  enter image description here

enter image description here

提前感谢你。如果需要任何代码,请在问题的评论中提及,我会将其添加到问题中。

1 个答案:

答案 0 :(得分:0)

在服务器上运行速度比在本地运行速度慢的最常见原因是因为它们没有几乎相同数量的RAM并且开始交换。就像一个应用程序在旧手机上的速度非常慢。

在一种情况下,系统交换内存,在另一种情况下,应用程序交换资源本身(通常通过API提供的资源缓存隐式)。

效果是一样的:开发系统/现代手机上不存在大量的I / O开销,导致运行时行为减慢了几个数量级。