首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化页面访问速度(一)——综述

优化页面访问速度(一)——综述

作者头像
用户1327360
发布2018-07-27 11:25:08
1.1K0
发布2018-07-27 11:25:08
举报
文章被收录于专栏:决胜机器学习决胜机器学习

优化页面访问速度(一)

——综述

(原创内容,转载请注明来源,谢谢)

一、概述

优化页面访问速度,首先需要了解用户在浏览器输入url后,最终是如何看到所需的页面。在了解整个流程后,可以逐个步骤进行优化。

二、从URL到页面

大致流程如下:

1、DNS服务器解析域名,并转成IP,返回给浏览器,浏览器直接通过IP来访问。

2、根据IP,通过各种网关、路由器、交换机,最终访问到代码所在的Nginx服务器上。

3、Nginx解析URL,对于js、css、图片等静态资源,直接找到对应文件并返回;如果是php文件,由于Nginx本身不会处理php,则根据location的配置,反向代理给php-fpm,Nginx会将url、参数、header信息等都交给php-fpm。

4、php-fpm找到对应的php代码,通过词法解析(php代码转成语言片段)、语法解析(将语言片段转成有意义的表达式)、编译(将php文件转成php的zend引擎可以执行的opcode),再顺序执行opcode。

5、执行过程中,涉及对数据库、redis等的交互过程。

6、将处理结果交还给Nginx服务器,Nginx返回给浏览器,浏览器渲染后展示给用户。

三、优化方向

对于优化步骤,可以从以下几个方面来考虑,后面的文章会对每一部分进一步深入探讨,这里做简单说明。

1、前端

前端优化主要包括防盗链、合并/减少http请求、非实时性请求改成异步ajax、启用浏览器缓存、js与css文件压缩合并、CDN加速、建立独立的图片服务器等。

2、服务端

服务端优化主要包括消息队列(rabbitmq)、并发处理、减少数据库访问(redis缓存、数据库单例模式)、多进程处理等。

3、数据库

数据库优化主要包括大表拆分(横向、纵向)、读写分离(主从)、SQL语句优化、建索引、数据库字段类型优化等。

4、web服务器

Nginx层优化主要就是服务器的负载均衡(七层、四层负载均衡)。

——written by linhxx 2018.04.19

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱思考的coder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档