gpt4 book ai didi

ruby-on-rails - Ruby 并发 + 使用 Rails 进行扩展

转载 作者:数据小太阳 更新时间:2023-10-29 07:36:23 24 4
gpt4 key购买 nike

我们有一个社交网站,

Stunnel->Haproxy->Nginx->Unicorn

我们有 20 个 unicorn 进程在 24 核机器上运行。

当我用 200 个请求和 100 个并发用户运行测试时,

50% 的请求需要 3694 秒
66% 的请求耗时 4524 秒
75% 的请求耗时 5444 秒
80% 的请求耗时 5923 秒
90% 的请求耗时 7676 秒
95% 的请求耗时 10007 秒
98% 的请求耗时 13841 秒
99% 的请求耗时 18110 秒
100% 请求耗时 21987 秒

我在日志中看到每个请求需要 0.5 秒才能完成,但最后一个完成请求需要 21 秒。

如何让所有请求在最短时间内(4-5 秒)完成?我应该在我的 Rails 代码上工作以在 0.10 秒内完成,还是有什么方法可以更改我的服务器配置以使所有请求在 5 秒内完成?

最佳答案

记住每个 unicorn 实例占用 ~250Mb RAM

所以 20 个 unicorn 至少需要 5 Gb RAM。如果您重载 RAM 限制 - 它们开始工作的速度非常慢:休眠并通过重新加载 Rails 环境唤醒进程

尝试减少 unicorn 服务器的数量并进行测试

关于ruby-on-rails - Ruby 并发 + 使用 Rails 进行扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com