热门标签 | 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.

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


推荐阅读
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 在CentOS系统中部署与配置ZooKeeper详解 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 如何使用 `org.apache.poi.openxml4j.opc.PackagePart` 类中的 `loadRelationships()` 方法及其代码示例详解 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • 设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
    设计实战 | 10个Kotlin项目深度解析:首页模块开发详解 ... [详细]
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社区 版权所有