根据性能和可伸缩性选择Rails与Django

Mic*_*ael 11 django performance scalability ruby-on-rails

我目前正在开展一个侧面项目(希望能够成长为更多的东西),而现在它是严格静态的前端产品; HTML,CSS和jQuery.所以在此期间,我有时间对选择Ruby on Rails与Python/Django进行大量研究.

我读过无数文章,比较两者,这通常归结为"你更喜欢哪种语言?" 和发展社区的考虑.

我的问题严格来说是技术性的,比较框架(及其各自的语言):

在Ruby/Rails与Python/Django之间:

  1. 哪个运行时表现更好(任何统计数据或现实世界的例子都会很棒)?
  2. 什么是已知的可伸缩性问题,从长远来看哪些扩展性更好(同样,任何技术文档或数据代表这一点都会很棒)?

我知道可扩展性归结为体系结构,所以问题是什么框架及其各自的工具,API,插件,社区,文档等"引导"您从"开始"走向最佳可扩展的Web架构?

谢谢!

yfe*_*lum 13

这是思考问题的错误方法.

Web上的可伸缩性来自扩展应用程序服务器的数量,而不是加速单个应用程序服务器.

Ruby和Python都是慢速语言,存在有问题的多线程和有问题的垃圾收集器.无论如何我们都使用它们,因为它们非常善于允许开发人员编写更简单的程序来更好地完成工作.不值得为这个问题烦恼,这两个运行时间中的哪一个表现更好.

只要您保持良好的Web体系结构,您的应用程序服务器无状态(所有状态保存在数据库或cookie中,而不是服务器端会话中),您不应该关心单个请求的实际性能,只要它是合理的.因为如果您的应用程序服务器是无状态的,您可以水平扩展该层以应对任何可伸缩性需求.

  • 正如我所说,原始性能问题(根本不是可伸缩性问题)是:Ruby和Python都很慢,有多线程坏,并且有糟糕的垃圾收集器 - 至少与具有强大多线程和垃圾收集功能的其他运行时相比并且很快.如果您正在单个服务器上查找原始性能,请使用.NET或JVM语言,或其他高级垃圾回收本机线程与无GIL运行时(如GHC).问两只陆龟中的哪一只更快似乎相当愚蠢.他们都是乌龟. (4认同)

Tim*_*ony 7

/sf/ask/6429251/
Django会扩展吗?
使用Rails作为大型网站的框架
/sf/ask/212958161/
Rails或Django?

...

关于这个问题有很多问题,没有人回答这个问题 - 没有正确的答案.

我认为你不应该选择这两个指标的框架.除非您正在构建下一个Facebook,否则两者都将扩展到您的需求.同样,两者都应该满足您的需求.而是看看语言和框架的哪些功能对您的应用程序有吸引力等.