瞎扯淡 Ruby on Rails 开发的 API,能支撑多大的日请求量?

atlas · December 12, 2017 · Last by breeze replied at March 08, 2018 · 4574 hits

Ruby on Rails 开发的 api,能支撑多大的日请求量,我知道不说硬件条件可能被喷,大家用 Ruby on Rails 开发的 api,已经上线的最大支撑了多大的日请求量?

emmmmmm 看 github

Reply to hging

没有大项目经验,所有想请教一个各位 ruby 的老司机

性能不够,横向扩展就行,主要你有多少量

日均 6 个 ip,一个还是自己公司的。不能再多了。

Reply to akin520

如果代码质量写的不高,只是扩展硬件,单日千万级别的请求量能支撑吗?

Reply to flowerwrong

跟我现在一个级别 哈哈哈

Reply to atlas

很容易

Reply to teddyinfi

老司机有过实战么

谈日请求量没啥意义吧?如果这一天千万级别请求集中在一秒,那谁也吃不消,如果平均分散的话,那还是很容的

Reply to atlas

当然有,多点机器少点优化,代码质量一般就多堆点机器,再不行就找高手做做优化重构

Reply to gihnius

谢谢老哥

这个数据没什么参考意义,Ruby 的性能和其他问题相比还算好的,虽然优化 Ruby 也很累。

Reply to nouse

只是做个参考,如果有老哥实现过了,说明这条路可行

肯定可行啊

Reply to atlas

算一下最高 tps

Reply to gihnius

两台 2Core 4G 比一台 4Core 8G 的性能要好。你可以测试一下。

Reply to atlas

你不提出自己的需要,如何让大家知道可行呢?

Reply to gihnius

cpu 使用率这么高?难道就因为 json marshal 和 unmarshal?

Reply to nouse

其实还没开始做,就是想问下各位老司机能否行得通

API,简单点说就是一个 CGI 而已,你这样讲真的没有任何意义。

具体说来,不仅仅是上面各位提到的要看请求的时间分布,还要看业务场景,比如 IO 密集还是计算密集?相同硬件配置在不同业务场景下的表现可比性就很差了,而你什么也不说。

那我只能说,你看 Github 的请求量,我觉得,一定行的通。

我有 300 台机器,支持每秒 2 万的 rps,这日均得有 17 亿吧?谈日均一点意义都没有。

谢谢解答

Reply to gihnius

请教一下,你下面 的那个截图测试 1,2,3,4 是用什么工具测的?

Reply to hanluner

人家已经说了是机器系统里运行 htop 的界面的截图。 没有用过 Linux 发行版吗?去试试吧。 htop 可以说是 top 的一种变种,默认会列出当前运行的系统各个 CPU core 的资源使用比例而不是所有 CPU core 的总资源使用比例。还有很多不同,比如列出同一个进程里的不同线程的信息而不是仅仅列出进程的信息,等等。

分享一下看到的一篇好文,以 puma 為主

Ruby Web 服务器的并发模型与性能

Reply to hong_xin

谢老哥

Reply to gihnius

为什么业务系统不用 go 写呢?

如果和 Python 比... Python 处理字符串比 Ruby 慢,然而也能支撑很大规模的网站。而且就算这个性能,主要花钱的机器也不是应用服务器...

32 Floor has deleted

Interesting

34 Floor has deleted
35 Floor has deleted
gihnius in 服务器负载过高怎样优化? mention this topic. 08 Mar 09:01

你配置 4 个 worker 加每个 worker 一个线程,给你带来 cpu 使用率下降,request 处理变快了的原因是在:

你的 puma 现在只能同时处理 4 个请求。其它的请求在排队进入 puma。所以实际上并发高的时候只是在 puma 处理请求这块变快了 (同时处理 4 个,与同时处理 4*8 个,显然前者的速度更快),而有更多的请求因为在排队,导致用户从发送请求到响应花了更多的时间。

You need to Sign in before reply, if you don't have an account, please Sign up first.