Sam*_*amy 2 django ajax scalability load-balancing
根据以下Stack Overflow问题:Django会扩展吗?Django非常适合每天/每月预期成千上万用户的网络应用程序,但要实现这一目标,您必须拥有正确的设计.
现在我的方案如下:
我刚刚加入一家初创公司担任技术主管/首席开发人员,虽然我有两年的Django经验,但我从来没有将它用作大型应用程序.最新的大型应用程序我参与了使用Zope,并依靠SQL Server来处理缓存等(在我看来可怕的做法).鉴于这家创业公司现在只有6个月后才有大约20,000名用户,并且考虑到他们在雇用我的同时也聘请了营销专家,我可以预期(或者至少希望预期)增长机会.许多现有的Django代码都需要重构; 即使用静态html表单而不是ModelForm等.
我的问题是:当我重构这个应用程序时,我应该遵循哪些设计模式才能正确完成,这样我们可以扩展到每月100,000到500,000个用户?我应该注意哪些gottchas?在模型设计方面,什么是可扩展的模型设计?在数据库支持方面,什么样的数据库设置可以帮助我实现这种可扩展性?在负载平衡方面,哪种架构适合负载均衡?
我假设使用Django开箱即用,不会实现这一点,我不想发现自己处于某种情况,我需要请求聘请可扩展性专家...我也想知道什么是一些负载我可以用来测量当前性能/可扩展性的测试技术/工具?我只和他们待了几天,所以我还不确定产品环境,所以如果我觉得我需要改变产品环境,有什么好的选择(云解决方案),那个适当但实惠吗?
编辑:他们似乎也在使用Ajax,这让我很担心.假设我不能说服他们改变它,那些可以使用并且仍然可扩展的一些优秀的Ajax技术库(我知道django-dajax/dajaxice)是什么.
谢谢,
山姆
不幸的是,你的问题没有很多具体细节.谷歌搜索将产生大量有关缩放django的信息.
http://www.morethanseven.net/2011/06/30/Django-performance-1-measuring-performance.html
此链接提供了约5种不同的方法来衡量不同的效果指标.由于我无法告诉您有关如何扩展应用程序的具体信息,因此以下是适用于任何网站的一般优秀原则.
不要过早优化!! Django可以开箱即用.我不担心ajax或模型表格或任何东西,除非你发现它们是你成长网站的特定瓶颈.我相信与性能一样重要的是确保您的网站是模块化的,在版本控制下并且易于移动.这将有助于开发,当您长大到足以让您即时启动新机器.