性能 | 可用 | 伸缩 | 扩展 | 安全 | |
build |
1、审慎引入第三方库(是否活跃、是否带入query、是否容易缓存) 2、db:减少query次数 减少耗时query 减小返回集 缓存查询结果 johnny.cache 读写分离 3、模板:俄罗斯套娃式缓存 4、耗时操作异步处理 celery 5、前端:压缩js/css django-pipeline/django-compressor 分析性能 Django Debug Toolbar/YSlow/PageSpeed 压缩图片 pngcrush 压缩上传图片 easy-thumbnails CDN
|
重点在测试 1、单元测试 2、代码覆盖率 3、代码规范 - pep8 4、功能测试 - Selenium 5、压力测试 - Jmeter django-discover-jenkins可以同时输出上述指标 |
1、settings文件分base、dev、deploy | ||
deploy |
1、操作系统用Ubuntu LTS 2、配置合适varnish参数 3、配置合适uwsgi参数 4、配置合适数据库参数 5、优化缓存 django-redis 6、监控实时性能 Graphite |
1、配置管理工具 ansible/salt 2、进程管理工具 系统的upstart/systemd,第三方的daemontools/supervisord 3、脚本执行代码更新过程 Fabric 4、检查是否有单点故障 chaos monkey 5、缓存: 防止缓存key过期而涌入db django-newcache 缓存服务器宕机可能返回500 django-ft-cache 6、监控出现异常错误 Nagios/Riemann |
集群 | 检查安全性 django-secure | |
lanuch |
1、新系统先小范围试运行后,再推广 2、更新代码,先更新集群中部分机器(当然session要通用) 3、准备好可以回滚 |
||||
ahead |
监控各重要部件: 1、varnish命中率 varnishstat 2、uwsgi uwsgitop 3、消息队列 celery的inspect命令 4、缓存 memcache-top 确保开启了定时持久化功能 5、数据库 pg_top/mytop |
High Performance Django
时间: 2024-11-07 13:10:03
High Performance Django的相关文章
Django performance
Reference: https://impythonist.wordpress.com/2016/02/21/building-high-performance-django-systems/ The main motto of Django web framework is: The web framework for perfectionists with deadlines It is true. Django always gives a polished product within
Apache部署django项目
我想这应该是很普遍的一篇文章,百度了一下确实有不少相关的文章,居然还在讲用“mod_python” , 我也是醉了.在些过程中颇费了些力气.在些记录. ---------------------------------------------- 在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的web服务器上. 安装apache Apache是非常有
django - from django.db.models import F - class F
F() 的执行不经过 python解释器,不经过本机内存,是生成 SQL语句的执行. # Tintin filed a news story! reporter = Reporters.objects.get(name='Tintin') reporter.stories_filed += 1 reporter.save() # 等于 from django.db.models import F reporter = Reporters.objects.get(name='Tintin') re
django部署到apache上
网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是
Django项目部署 - 访问量统计和页面点击数
http://blog.csdn.net/pipisorry/article/details/47396311 下面是在模板中做一个简单的页面点击数统计.model阅读量统计.用户访问量统计的方法 简单的模板页面计数的实现 模板中设置: <li>您是第{{count}}个访问本站的朋友</li> <li>访问时间:{{time}}</li> view.py中 def getTime():#获取当前时间 import time return time.ctim
window7配置python3.3 + django + apache24 + mod_wsgi
window7安装配置python3.3 + django + apache24 + mod_wsgi 1.下载版本的时候要对应 2.apache24 别放系统盘, 不然权限很麻烦 3.django + apache24 + mod_wsgi ,因为是最新版本,所以和网上的那些有点不样,这个地方百度好久 安装python3.3: https://www.python.org/downloads/ 增加Path环境变量C:\Python33; 下载ez_setup.py(这个东东可以让你安装pyt
[django] Deploy Django Applications Using uWSGI and Nginx on Ubuntu 14.04
关键点1:chmod-socket=666 (mysite_uwsgi.ini) 关键点2 : 工程目录和虚拟环境目录搞清楚 几个参考: http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-
Django urls配置
浏览器向web服务器请求url地址时,urls.py文件中的patterns方法进行响应,响应的方法是通过url方法进行匹配的,匹配的过程中需要传入4个参数,4个参数的作用如下: url(路径,视图,其它,name) 路径:使用regex的方式进行路径字符串匹配的 视图:是通过app下的views中的函数定义的 其它:可以传递任意参数到目标view name:可以将此处的参数传递给特殊的templates中(templates后面再将,它是Django特有的编程模式--MVT,MVT编程模型中需
Choosing web framework: ASP.NET MVC vs Django Python vs Ruby on Rails(转载)
来源:http://podlipensky.com/2012/06/choosing-web-framework-asp-net-mvc-vs-django-python-vs-ruby-on-rails/ How often do you emerge from you cubicle to look around, note new faces or new facial expression on old ones? How often do you emerge from you tec