1. 用cdn,静态资源,放到cdn上(js,css,静态图片)css
2. 用精灵图(一个大图,上面又不少小图,用定位,定位到小图)前端
3. 前端缓存(响应头设置缓存时间)cache-control (django如何向响应头写键值对:响应对象["aaa"]="aaa")python
1. nginx作集群(dns解析,负载均衡硬件 f5)nginx
2. 动静分离(静态资源直接经过nginx转发,拿去;uwsgi只负责处理动态请求)redis
3. 负载均衡(nginx配置)sql
4. 集群化部署数据库
5. 拆服务(分布式)django
替代性能低的wsgiref部署项目小程序
使用uwsgi(c写的wsgi服务器)部署缓存
使用gunicorn(python写的wsgi服务器)部署
1. 作缓存(redis)
2. 页面静态化(不适用于app和小程序),提早生成一个首页页面(被访问频繁的页面),数据不一致(当有数据增长,再从新生成一次这个页面),用异步:用celery,django的信号(异步操做),当对象保存时,从新生成静态页面
3. 异步操做(celery),一个请求须要耗时3s,设计成异步--请来了--》直接返回(任务已提交,请求正在处理)
4. 数据库优化,优化sql,外键尽可能不创建,适当建索引,读写分离,数据库集群,分库分表
5. 优化代码,多线程处理,尽可能不在for循环里查数据库