我刚刚完成了我称之为小型django项目的事情,很快它就会上线。它只有6个模型,但是相当复杂的视图层和大量记录保存和检索。
当然,忘记明显的大量错误,可能会将我的收件箱填入顶部,这对于具有最佳性能的网站而言是下一步。什么可以调整?
我最近使用了jmeter并且确信我有一个良好的基线用于未来的性能比较,但问题是:我不确定什么是最好的开始,因为我是一个贪婪的混蛋,想要尽可能少地工作并收集最好的结果。
例如,我应该尝试一种基础设施的方法,比如分布式数据库,还是我应该使用代码本身,在这种情况下,是否有某些特定的结果会带来更好的性能?根据您的经验,最新的回报是什么?
作为个人贡献:我有时会觉得某些操作,通过django的信号完成,比通常的查看方式更快。但是,嘿,我有偏见。我疯狂的信号。 :)
像我这样的个人轶事,作为刺激一些研究的方式受到欢迎,但是一些基于事实的观点更受欢迎。 :)
非常感谢。
答案 0 :(得分:9)
这是我们做的......
一般情况下,不要尝试预先优化性能。首先,收集使用/性能统计数据,然后选择最有价值的变化(努力与效益),直到获得不错的结果。目标应该是避免不必要的复杂性(分布式数据库等)
然后,如果您仍然不满意,请考虑这些(按顺序):更多RAM(长途跋涉),专用数据库服务器,负载平衡多个应用服务器(使用perlbal等),专用媒体服务器等...有关详细信息,请参阅这些内容(deployment guide,performance tips)
祝你好运......答案 1 :(得分:3)
现在是什么?
部署。如果你有一个MVP。
其他想法:
我知道你的问题倾向于表现,看起来我的想法与表现无关。但是,考虑一些这些看似无关的项目可能会导致您的方向影响性能。例如,可用性测试可能会发现,由于向最终用户提供的数据较少,某些功能可以缩小范围,从而产生更好的性能。