PHP 进阶之路 - 亿级 pv 网站架构实战之性能压榨(收藏)

性能优化的原则

  1. 性能优化是建立在对业务的理解之上的
  2. 性能优化与架构、业务相辅相成、密不可分的

性能优化的引入

我们先看一张简单的 web 架构图

亿级 pv 网站架构实战之性能压榨.002.jpeg

从上到下从用户的浏览器到最后的数据库,那么我们说先前端的优化。

10年架构师领你架构-成长之路-(附面试题(含答案))

(腾讯T3-T4)打造互联网PHP架构师教程目录大全,只要你看完,薪资立马提升2倍(持续更新)

原文链接:segmentfault.com

点击与我交流企鹅群

前端优化

雅虎军规:http://www.cnblogs.com/paul-3...
亿级 pv 网站架构实战之性能压榨.004.jpeg

减少 http 请求数

  1. 图片、css、script等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。

把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,小图拼合后利用 background 来定位。

  1. 现在很多 icon 都是直接做成字体,矢量高清,也减少网络请求数
  2. 现在的前端框架都会通过组件的方式开发,最后打包生成一个 js 或者 两个 js 文件 + 一个 css 或者两个 css 文件。

利用浏览器缓存

expires,cache-control,last-modified,etag
http://blog.csdn.net/eroswang...
防止缓存,比如资源更新了,原来的做法是?v=xxxx 现在前端的打包工作可以能会生成 /v1.2.0/xxx.js

使用分布式存储前端资源

接地气利用 cdn 存储前端资源

多域名访问资源

  • 原因一:浏览器对同一域名的并行请求数有上限,多个域名则支持更多并行请求
  • 原因二:使用同一域名的时候无用的 cookie 简直是噩梦

亿级 pv 网站架构实战之性能压榨.012.jpeg

数据压缩

  1. 开启gzip
  2. 前端资源本身的压缩,js/css 打包编译(去掉空格,语意简化)图片资源的压缩等。

优化首屏展示速度

  1. 资源的按需加载,延时加载 https://mengkang.net/229.html
  2. 图片的懒加载,淘宝的商品介绍太多图,用户点击进来又有多少人一直往下看图的呢?

nginx 优化

图片描述
分为下面三个部分来

nginx 本身配置的优化

  1. worker_processes auto 设置多少子进程
  2. worker_cpu_affinity 亲缘性绑定
  3. worker_rlimit_nofile 65535 worker 进程打开的文件描述符的最大数
  4. worker_connections 65535 子进程最多处理的连接数
  5. epoll 多路复用
  6. sendfile on 是对文件I/O的系统调用的一个优化,系统api
  7. 如果是反向代理web服务器,需要配置fastcgi相关的参数
  8. 数据返回开启gzip压缩
  9. 静态资源使用 http 缓存协议
  10. 开启长连接 keepalive_timeout
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/json;
        gzip_vary on;
        gzip_proxied        expired no-cache no-store private auth;
        gzip_disable        "MSIE [1-6]\.";
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }    

http://mailman.nginx.org/pipe...

tcp/ip 网络协议配置的优化

  1. /proc/sys/net/ipv4/tc
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值