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

时间:2011-09-25 17:31:39

标签: ruby-on-rails django performance scalability

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

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

我的问题严格属于技术性质,比较框架(及其各自的语言):

在Ruby / Rails与Python / Django之间:

  1. 哪个运行时表现更好(任何统计数据或现实世界的例子都会很棒)?
  2. 有哪些已知的可扩展性问题,从长远来看哪些扩展性更好(同样,任何技术文档或数据代表这一点都会很棒)?
  3. 我理解可扩展性归结为体系结构,因此问题是什么框架及其各自的工具,API,插件,社区,文档等“引导”您从“获取 - 获取最佳可扩展的Web体系结构”去“?

    谢谢!

2 个答案:

答案 0 :(得分:13)

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

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

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

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

答案 1 :(得分:7)

https://stackoverflow.com/questions/91846/rails-or-django-or-something-else
Does Django scale?
Using Rails as a framework for a large website
https://stackoverflow.com/questions/3042259/django-or-rails
Rails or Django?

...

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

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