web程序性能优化常用方法

mervyn 2018年7月26日12:49:49架构web程序性能优化常用方法已关闭评论131

目录

前端优化

  • 减少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优化

文章源自编程技术分享-https://mervyn.life/a4b866cc.html
weinxin
我的微信公众号
微信扫一扫
mervyn
大流量web开发常用套路 架构

大流量web开发常用套路

分离 动静分离 静态资源、动态资源页面的分离 数据库字段的动态分离,字段中的静态图片、动态内容等 读写分离 mysql主从 nosql 主从 业务分离 数据分库 集群分离 登录服务、附件上传服务的集群...
大流量web开发常用套路 架构

大流量web开发常用套路

分离 动静分离 静态资源、动态资源页面的分离 数据库字段的动态分离,字段中的静态图片、动态内容等 读写分离 mysql主从 nosql 主从 业务分离 数据分库 集群分离 登录服务、附件上传服务的集群...