有谁有 500+ 的 Ruby on Rails 应用程序吗?桌子?
我正在开发一个大型 SAAS 应用程序,并计划在 Ruby On Rails 中这样做。然而,我在网上读到的大多数帖子似乎都表明 100 个表被认为是一个大型 RoR 应用程序。我非常有兴趣了解任何人都见过的可扩展性/大小问题以及您如何解决它们(如果您确实能够这样做),特别是如果您的应用程序> 500桌。除了数据库大小之外,我还对您可能看到的任何其他 RoR 可扩展性问题感兴趣。
预先感谢大家。
I am working on developing a large SAAS application and I had planned to do so in Ruby On Rails. However, most of the threads that I have read here and there on the Net seem to indicate that 100 tables is considered to be a large RoR application. I would be very interested to hear about scalability/size issues that anyone has seen and how you solved them ( if indeed you were able to do so ), particularly if your application is > 500 tables. I am also interested in any other RoR scalability issues that you may have seen in addition to database size.
Thank you to everyone in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我编写了一个简单的数据库浏览器,它使用 IronRuby on Rails,涵盖 14 个数据库和 520 多个表(和模型),我没有注意到开发模式有任何特别的减慢。它不会是一个生产类型的应用程序,因为它是为工作中的开发团队设计的,所以我们不期望面向公众的应用程序会承受那种负载。
webrick 服务器起始大小为 63MB,在开发模式下可以增长到 200+MB。
I wrote a simple database browser that uses IronRuby on Rails and spans 14 databases and 520+ tables(and models) I don't notice any particular slowdowns in development mode. Its not going to be a production type app, as its meant for the dev team at work, so we aren't expecting the kind of load a public facing app would take.
The webrick server starts out at 63MB and can grow to take up 200+ MB in dev mode.
如果您想要 500 多张桌子,也可以。如果您想要拥有 500 多个 Rails 模型,那就是另一回事了。我想你指的是后者。 500 多个模型似乎有点太多了。尽管有传闻称 37Signals 在其 crm 应用程序中拥有 250 多个模型。启动这种应用程序一定很痛苦。重启也行。需要大量内存 - 每个应用程序实例可能需要几百兆字节。但如果已经加载,它的速度应该不会比模型少 10 倍的应用程序慢多少。尽管这只是基于假设,而不是经验。
If you'd like to have 500+ tables, it's ok. If you'd like to have 500+ Rails models, that's a different story. I presume you mean the latter. And 500+ models might seem a little bit too much. Although there is a story floating around that 37Signals has 250+ models in their crm application. Starting up this kind of application must be painful. Restarting too. Lots of memory required - probably few hundred megabytes per app instance. But if already loaded it should not be that much slower than an app with 10 times less models. Although that's just based on assumptions, not experience.