目录
前端优化
- 减少http请求数
- 充分利用浏览器缓存
本地存储 - 分布式存储前端资源
- 多域名访问资源
- 浏览器对同一个域名的并行请求数有上限
- 使用同一个域名时无用的cookie依然会进行传递
- 资源数据的压缩
- 代码压缩、混淆
- 服务器gzip压缩
- 图片压缩
- 优化首屏展示速度
- js、图片延时加载
Nginx优化
本身的配置的优化
- work_processes auto;
- worker_cpu_affinity 亲缘性绑定
- worker_rlimit_nofile 65535;
- use epoll;
- worker_connections 65535;
- sendfile on;
- fastcgi相关
- gzip相关
- 静态资源http缓存协议
- keepalived_timeout 60; 开启长连接
tcp/ip协议优化
系统的配置的优化
ulimit -a 65535文章源自编程技术分享-https://mervyn.life/a4b866cc.html
PHP优化
-
升级PHP版本文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
开启opcache缓存文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
配合使用hugepage文章源自编程技术分享-https://mervyn.life/a4b866cc.html
Hugepage:间接提高虚拟地址和内存地址转换过程中查表的TLB缓存命中率 opcache.huge_code_pages=1 http://www.laruence.com/2015/10/02/3069.html
-
代码伪编译
类似tp的common~runtime.php文章源自编程技术分享-https://mervyn.life/a4b866cc.html -
模板编译文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
xhprof查找性能瓶颈文章源自编程技术分享-https://mervyn.life/a4b866cc.html
业务优化
- 非侵入式开发
- 静态化
- 异步思想
- 业务解耦
- 分布式以及SOA
MySQL优化
表设计
innodb需要自增主键
http://draveness.me/mysql-innodb.html文章源自编程技术分享-https://mervyn.life/a4b866cc.html
- 能短整型就不选长整型
- 能char就避免varchar
- varchar长度够用就行
- 大文本单独分离,比如文章内容详情
- 冗余字段使用
索引优化
- explain 使用
收集慢查询
使用nosql
缓存的优化
多级缓存
-
请求内缓存文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
本地缓存文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
分布式缓存文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
避免缓存的滥用
-
缓存命中率低:用户积分更新导致整个用户基本信息缓存失效文章源自编程技术分享-https://mervyn.life/a4b866cc.html
-
缓存的原子性:礼物和主题绑定缓存,礼物更新,绑定的所有主题都要更新文章源自编程技术分享-https://mervyn.life/a4b866cc.html
redis优化
- string计数器
- set黑名单
- zset分页列表
- hash 对象存储
- 多实例化
- 官方优化方案: https://redis.io/topic/memory-optimization
- 尽可能使用hashes 节约内存
评论