Erlang/Elixir Phoenix vs Rails: quick performance comparison 被最后的 ab 压测震惊了

wfwdex · 2017年07月01日 · 最后由 imconfused 回复于 2017年08月12日 · 6013 次阅读

这几天在想办法优化自己参与的项目,无意中看到这个视频。

最后的压测差距好多,不知道在完整的项目中差距是不是这么大。

kgen 回复

谢谢回复,确实实际项目中影响速度的因素很多,如果是这样的结果,目前来看我还是会用 Rails。

昨晚看完这个视频就在社区里翻了翻 elixir 相关的贴子,感觉很值得学习了解一下,打算近期抽时间学习用 phoenix 做个小应用试试。

跟 rails 比跑分,这是连脸都不要了 ...

Erlang 跑分比较烂,估计要等明年 Erlang 21 出来才会改进。

跟 rails 比性能。。。。。

一直在用 rails,好想遇到性能问题,可是不能啊,我也很苦恼😂

Rails 已是业内性能标杆,基本每个 web 框架都会拿它来比比

首先 Rails 的性能一直不好 另外 Phoenix 性能標杆是 OTP,中小型系統沒有需要使用 OTP 的意義在那?

感覺就是各種不熟悉

kgen 回复

Counter Argument, for site like stack exchange, ( https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/ ) Where in average they spend less then 5ms in Database, the speed is 35ms vs 5.5ms, ( ~ 6x ) .

kikyous 回复

好的 你们的运维想必是大神了 👻

ksec 回复

Yep! It depends on the complexity of the business system and your hardware budget. :-)

ksec 回复

这个问题好解决,让 DB 调用一下 row_to_json() 就可以了...

Aiken00 回复

小破站才用 Erlang。小破站换 Erlang 是大势所趋。

ActionCable 什么的,功能极其有限,难用的要死 ...

Cool. But does your CURD application really need it?

kgen 回复

然而 rails 需要 5 倍的机器才能达到这个数字。。。值不值就看你自己的决定了。。。

把 benchmark 的代码给出来吧,说实在的重写并不一定是最好的方法,一般公司没有那个人力没事重写。

首先,不要太相信 Benchmark 了,自己得有个判断。其次,就算不是为了速度,Rails 也不值得用啊,没什么可取之处

tony612 回复

期待 Phoenix+Elixir 全栈营 😄

先学的 python,如果是先学的 ruby,估计肯定是个 rails 粉。学 Elixr 主要是因为 py 速度实在太慢,当然优化一下也能快起来,但是有一门不需要优化就很快的语言,为啥不学?因为不会 ROR,所以只能比较一下 py 的框架感受。至少到现在为止,我再也不想用 py 的 web 框架了。

bhuztez 回复

同意的確是大勢所趨 然而不談 actionable(這東西問題很大)

單論開發和功能還是 Rails 爽

phoenix 回复

Scipy GIS 一堆還是找不到替代 想快速開發你還得用 Python,不然就 Java 了

nouse 回复

其实我是不认可全栈的说法的,这世上没有全能的工程师,总有弱点,自以为全能的阵营,很可能是各方面只做了 50%(哦不,甚至 25% 都不到的用例,然后自己自满骄傲的觉得自己全能)。全栈是占有欲强的人世界观,实际上公司如果给你这时间各处研究,去一点点实现,很多市场都死了。

kikyous 回复

串口编程 每秒采集一次数据,对一分钟内的数据做滑动平均,回传至服务器

我觉得 Elixir 或者 Phoenix 对比 Rails 更多的是代码的清晰度,还有 OTP 的加成,对于 Benchmark 性能,反倒不是那么重要了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号