我有一个 VPS,它托管(当前)5 个不同的 rails 应用程序,它们都具有不同的域。为了让它们工作,我在我的 nginx 配置文件中为每个应用添加了一个 server {} 侦听器。我将其他所有内容都保留为默认值,例如只有一个 nginx 工作进程。同时,我还为其中一个应用程序配备了 2 个 Rails 工作人员。
现在,它按原样工作,但性能很低,尤其是速度。我怎样才能通过遵守我的限制让我的应用程序更快?
谢谢!
我有一个 VPS,它托管(当前)5 个不同的 rails 应用程序,它们都具有不同的域。为了让它们工作,我在我的 nginx 配置文件中为每个应用添加了一个 server {} 侦听器。我将其他所有内容都保留为默认值,例如只有一个 nginx 工作进程。同时,我还为其中一个应用程序配备了 2 个 Rails 工作人员。
现在,它按原样工作,但性能很低,尤其是速度。我怎样才能通过遵守我的限制让我的应用程序更快?
谢谢!
nginx“worker_processes”应该设置为您可以使用的内核数。你提到你把它设置为1。你有更多的核心吗?
你的问题是你深入交换。您在切换应用程序时遇到的缓慢是系统将请求的应用程序从交换加载到物理内存中。
为了解决这个问题,你可以观察谁在占用内存(也使用'top'),然后解决这个问题。您可能会找到一些需要调整的东西,但也很有可能您会发现在没有重大架构更改的情况下您已接近可能的物理极限。
如果您的时间很宝贵,那么您最好的做法是升级到至少有 1GB 内存的实例,因为您已经使用了差不多这么多内存。