High Performance Django
| 性能 | 可用 | 伸缩 | 扩展 | 安全 | |
| 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的更多相关文章
- Awesome Django
Awesome Django If you find Awesome Django useful, please consider donating to help maintain it. ...
- Django 优秀资源大全
版权: https://github.com/haiiiiiyun/awesome-django-cn 转自:https://www.jianshu.com/p/38c4dd6d8e28 Awesom ...
- Django performance
Reference: https://impythonist.wordpress.com/2016/02/21/building-high-performance-django-systems/ Th ...
- Python自动化之django的ORM操作——Python源码
""" The main QuerySet implementation. This provides the public API for the ORM. " ...
- Apache部署django项目
在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的w ...
- django - from django.db.models import F - class F
F() 的执行不经过 python解释器,不经过本机内存,是生成 SQL语句的执行. # Tintin filed a news story! reporter = Reporters.objects ...
- win7下,使用django运行django-admin.py无法创建网站
安装django的步骤: 1.安装python,选择默认安装在c盘即可.设置环境变量path,值添加python的安装路径. 2.下载ez_setup.py,下载地址:http://peak.tele ...
- Django Model field reference
===================== Model field reference ===================== .. module:: django.db.models.field ...
- Django访问量和页面点击数统计
http://blog.csdn.net/pipisorry/article/details/47396311 下面是在模板中做一个简单的页面点击数统计.model阅读量统计.用户访问量统计的方法 简 ...
随机推荐
- Maven clean时候出现异常
首先我使用IDEA创建一个空的project,在这个空的project中创建了一个maven module,然后将这个module打包之后,使用maven clean这个target 的时候报错,如下 ...
- MFC编程入门之五(MFC消息映射机制概述)
在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作.比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应. 一.什 ...
- hiho_1068_RMQ_st算法
题目 给出一数组A,编号从1到n,然后进行q次查询,每次查询给出一个边界[beg, end],要求给出数组A中范围[beg, end]之内的最小值. 题目链接: RMQ_ST 分析 区间问题使用线段树 ...
- Structs1 -配置例子(转)
转自:(http://blog.csdn.net/xys_777/article/details/7542095) Action, ActionForm, ActionForward ,这三个对象构成 ...
- 简单的css居中问题(日常记录)
1.今天遇到了一个奇怪的问题:因为网页要适配大小分辨屏幕,需要把一张图片放到div中,我的初始思路是把图放在div中绝对对位给top50%left50%,但是不行,因为当网页调窄时图片就因为显得太大了 ...
- 【bzoj1029】道路抢修
[bzoj1029]建筑抢修 传送门 http://www.lydsy.com/JudgeOnline/problem.php?id=1029 分析 http://blog.csdn.net/popo ...
- 资源 之 4.4 Resource通配符路径(拾贰)
4.4.1 使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源. Ant路径通配 ...
- canvas实现音乐中的歌词播放效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python中文处理
源码文件为utf-8格式 CODEC = 'utf-8': VS在“高级保存选项”中选择“UTF-8 65001” input(u'中文');print(u'中文')
- Scala学习之: Hello Word!
scala 是一门纯粹的面向对象的语言 , 结合了python和java的优点. 它和java的集合度很高,是一个在JVM上运行的非java语言(PS 其实scala也是用java编写的) 安装sca ...