mat*_*sko 3 ruby performance scalability ruby-on-rails
我已经玩Rails(版本3)几个月了,我对框架相当了解.但是,我还没有开发一个提供大量数据库访问和用户交互的大型网站.
我对以下内容持怀疑态度:
由于这些原因,我不确定是继续使用Rails还是切换到构建在更高性能语言上的东西.比如Java Spring.
请指教 :)
Ale*_*yne 12
生产中有大量使用Rails的大型站点和基础架构.多年来,Rails被广泛用于各种各样的网络应用程序,无论大小,这个问题也被要求死亡.
简短的版本是它不是最快的语言,但如果你知道你在做什么,尽管规模很好.如果你真的有任何规模问题,你应该有足够的钱雇用那些知道自己在做什么的人.
扩展任何webapp很难,使用你知道的语言/框架.程序员的幸福是王道.
d11*_*wtq 10
你可以用Ruby获得良好的性能.简单:
require 'inline'
inline :C do |builder|
builder.c <<-C_CODE
void run() {
// Write your entire application in C here
}
C_CODE
end
run
Run Code Online (Sandbox Code Playgroud)
问题解决了 ;)
不是再次进行速度和缩放讨论吗?
在webdevelopment中,最慢的是网络通信(接收请求,获取数据),数据库(从数据库获取所有数据),大多数时候根本不是计算时间. .
虽然Ruby和Ruby on Rails确实更专注于程序员的幸福,但我认为用.NET或Java构建的每个体面的Web应用程序都具有尽可能多的抽象层次.
环境的复杂性?我认为你的意思是部署?有很多选项,但最常用的选项是Passenger(非常容易部署在apache或nginx之上)或Torquebox.Torquebox目前是最快,最好的扩展解决方案(基于JBoss应用服务器),Ruby社区中的几个大名称正在调用Jruby来实现部署应用程序的选择.虽然AFAIK最常用的部署仍然使用REE(Ruby Enterprise Edition)和Passenger.
除非你知道你将要进行严肃的数学,CPU密集型操作,否则我认为你应该问自己的问题是:哪种框架/语言会给我最快的结果?
如果你非常精通Java/Spring,那可能就是你的答案.但是,如果你唯一担心的是性能,我会说:不要犹豫,去Ruby on Rails.如果您遇到任何问题,红宝石社区真的很棒:支持只是一个帖子.
最后,我想使用Rails添加一些非常大的站点:LinkedIn使用rails(和jruby),而Twitter仍在使用Rails作为他们的前端.