4

我们有一个社交网站运行,

Stunnel->Haproxy->Nginx->Unicorn

我们有 20 个独角兽进程在 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 秒内完成所有请求?

4

1 回答 1

2

请记住,每个独角兽实例都吃〜250Mb RAM

所以 20 只独角兽至少需要 5 Gb RAM。如果您超载 RAM 限制 - 它们开始工作的速度极慢:通过重新加载 Rails 环境休眠和唤醒进程

尝试减少独角兽服务器的数量并进行测试

于 2013-02-26T05:27:44.473 回答