首页 技术 正文
技术 2022年11月20日
0 收藏 990 点赞 3,975 浏览 952 个字
构建高性能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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,991
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,505
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,766
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844