热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Django项目完成和工作。怎么办?-DjangoProjectDoneandWorking.NowWhat?

IjustfinishedwhatIwouldcallasmalldjangoprojectandprettysoonitsgoinglive.Itsonly

I just finished what I would call a small django project and pretty soon it's going live. It's only 6 models but a fairly complex view layer and a lot of records saving and retrieving.

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

Of course, forgetting the obvious huge amount of bugs that will, probably, fill my inbox to the top, what would it be the next step towards a website with best performance. What could be tweaked?

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

I'm using jmeter a lot recently and feel confident that I have a good baseline for future performance comparisons, but the thing is: I'm not sure what is the best start, since I'm a greedy bastard that wants to work the least possible and gather the best results.

我最近经常使用jmeter并且对我未来的性能比较有一个很好的基线,但事实是:我不确定什么是最好的开始,因为我是一个贪婪的混蛋想要工作最不可能并收集最好的结果。

For instance, should I try an approach towards infrastructure, like a distributed database, or should I go with the code itself and in that case, is there something that specifically results in better performance? In your experience, whats pays off more?

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

As a personal contribution: I sometimes have the impression that some operations, when done through django's signals, are faster then the usual view way. But hey, I'm biased. I freaking loooove signals. :)

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

Personal anecdotes like mine, are welcome as a way to stimulate some research, but some fact based opinions are much more appreciated. :)

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

Thanks very much.

非常感谢。

2 个解决方案

#1


9  

here is what we did...

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

  1. used django-debug-toolbar to analyze performance of each page (# of queries and response times)
  2. 使用django-debug-toolbar分析每个页面的性能(查询数和响应时间)
  3. used Django cache framework...most importantly memcache
  4. 使用Django缓存框架......最重要的是memcache
  5. used Firebug's pagespeed to optimize HTTP page loads
  6. 使用Firebug的pagespeed来优化HTTP页面加载
  7. used Google Analytics for general site usage stats (find out what's being used)
  8. 使用Google Analytics获取常规网站使用情况统计信息(了解正在使用的内容)
  9. used Apache HTTP server benchmarking tool for quick performance stats
  10. 使用Apache HTTP服务器基准测试工具获得快速性能统计数据

In general, don't try to optimize performance up front. First, collect usage/performance stats, then pick off the most rewarding changes (effort vs. benefit) until you get decent results. The goal should be to avoid unnecessary complexity (distributed databases, etc)

一般情况下,不要尝试预先优化性能。首先,收集使用/性能统计数据,然后选择最有价值的变化(努力与效益),直到获得不错的结果。目标应该是避免不必要的复杂性(分布式数据库等)

Then, if you still aren't happy, consider these (in order): more RAM (goes a long way), a dedicated database server, load balancing multiple app servers (using perlbal, etc), a dedicated media server, etc...see these for more details (deployment guide, performance tips)

然后,如果您仍然不满意,请考虑这些(按顺序):更多RAM(长途跋涉),专用数据库服务器,负载平衡多个应用服务器(使用perlbal等),专用媒体服务器等。 ..了解更多细节(部署指南,性能提示)

good luck...

祝你好运...

#2


3  

Now what?

怎么办?

Deploy. If you have an MVP that is.

部署。如果你有一个MVP。

Other thoughts:

其他想法:

  1. You didn't mention anything about testing. Do you have unit tests? Do you feel that the test coverage is adequate? I'd recommend reading Karen M. Tracey's book Django 1.1 Testing and Debugging.
  2. 你没有提到有关测试的任何内容。你有单元测试吗?你觉得测试覆盖率足够吗?我建议阅读Karen M. Tracey的书Django 1.1 Testing and Debugging。
  3. Have you watched Jacob Kaplan-Moss's Deployment Workshop?
  4. 你看过Jacob Kaplan-Moss的部署工作室了吗?
  5. Have you done any usability testing? You can check out Joel Test article by Joel Spolsky, or you can read Rocket Surgery Made Easy or Don't Make Me Think both by Steve Krug.
  6. 你做过任何可用性测试吗?你可以查看Joel Spolsky的Joel Test文章,或者你可以阅读Steve Krug的Rocket Surgery Made Easy或Do not Make Me Think。
  7. Speaking of Spolsky, how does your process rank on the Joel Test?
  8. 说到Spolsky,您的流程如何在Joel测试中排名?

I know that your question was slanted toward performance, and it may seem that my thoughts aren't performance related. However, thinking about some of these seemingly unrelated items may lead you in a direction that will impact performance. For instance, usability testing may reveal that a certain feature could be reduced in scope yielding better performance due to less data being delivered to the end-user.

我知道你的问题倾向于表现,似乎我的想法与表现无关。但是,考虑一些看似无关的项目可能会导致您的方向影响性能。例如,可用性测试可以揭示某个特征可以缩小范围,从而产生更好的性能,因为更少的数据被传递给最终用户。


推荐阅读
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • javax.mail.search.BodyTerm.matchPart()方法的使用及代码示例 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
author-avatar
我爱超人宝宝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有