Django项目完成和工作。怎么办?

时间:2010-12-28 22:48:39

标签: django

我刚刚完成了我称之为小型django项目的事情,很快它就会上线。它只有6个模型,但是相当复杂的视图层和大量记录保存和检索。

当然,忘记明显的大量错误,可能会将我的收件箱填入顶部,这对于具有最佳性能的网站而言是下一步。什么可以调整?

我最近使用了jmeter并且确信我有一个良好的基线用于未来的性能比较,但问题是:我不确定什么是最好的开始,因为我是一个贪婪的混蛋,想要尽可能少地工作并收集最好的结果。

例如,我应该尝试一种基础设施的方法,比如分布式数据库,还是我应该使用代码本身,在这种情况下,是否有某些特定的结果会带来更好的性能?根据您的经验,最新的回报是什么?

作为个人贡献:我有时会觉得某些操作,通过django的信号完成,比通常的查看方式更快。但是,嘿,我有偏见。我疯狂的信号。 :)

像我这样的个人轶事,作为刺激一些研究的方式受到欢迎,但是一些基于事实的观点更受欢迎。 :)

非常感谢。

2 个答案:

答案 0 :(得分:9)

这是我们做的......

  1. 使用django-debug-toolbar分析每个页面的效果(查询次数和响应次数)
  2. 使用Django cache framework ...最重要的是memcache
  3. 使用Firebug的pagespeed来优化HTTP页面加载
  4. 使用Google Analytics获取常规网站使用情况统计信息(了解正在使用的内容)
  5. 使用Apache HTTP server benchmarking tool获取快速效果统计信息
  6. 一般情况下,不要尝试预先优化性能。首先,收集使用/性能统计数据,然后选择最有价值的变化(努力与效益),直到获得不错的结果。目标应该是避免不必要的复杂性(分布式数据库等)

    然后,如果您仍然不满意,请考虑这些(按顺序):更多RAM(长途跋涉),专用数据库服务器,负载平衡多个应用服务器(使用perlbal等),专用媒体服务器等...有关详细信息,请参阅这些内容(deployment guideperformance tips

    祝你好运......

答案 1 :(得分:3)

  

现在是什么?

部署。如果你有一个MVP

其他想法:

  1. 您没有提及有关测试的任何内容。你有单元测试吗?你觉得测试覆盖率足够吗?我建议阅读Karen M. Tracey的书Django 1.1 Testing and Debugging
  2. 你看过Jacob Kaplan-Moss的Deployment Workshop吗?
  3. 你做过任何可用性测试吗?你可以查看Joel Spolsky的Joel Test文章,或者你可以阅读Steve Krug的Rocket Surgery Made EasyDon't Make Me Think
  4. 说到Spolsky,您的流程如何在Joel Test上排名?
  5. 我知道你的问题倾向于表现,看起来我的想法与表现无关。但是,考虑一些这些看似无关的项目可能会导致您的方向影响性能。例如,可用性测试可能会发现,由于向最终用户提供的数据较少,某些功能可以缩小范围,从而产生更好的性能。