网站性能提升思路
2016-02-14 14:06
295 查看
原文url:http://mp.weixin.qq.com/s?__biz=MzA4ODUxMDYwNw==&mid=200794777&idx=1&sn=456137f83eca7dda7498a32a6f6b5a39&3rd=MzA3MDU4NTYzMw==&scene=6#rd
什么是性能:一个用户从输入网址到按下回车键,看到网页的快慢,这就是性能。
用户访问网站的整个流程:用户输入网站域名,通过DNS解析,找到目标服务器IP,请求数据经互联网达到目标服务器,目标服务器收到请求数据,进行处理(执行程序、访问数据库、文件服务器等)。处理完成,将响应数据又经互联网返回给用户浏览器,浏览器得到结果进行计算渲染显示给用户。
我们把整个过程,分为三段路径:
1、第一段在用户和浏览器端,主要负责发出用户请求,以及接受响应数据进行计算渲染显示给用户;
2、第二段在网络上,负责对请求数据、响应数据的传输;
3、第三段在网站服务器端,负责对请求数据进行处理(执行程序、访问数据库、文件等),并将结果返回;
第一路径,前端优化,包含浏览器缓存,css页面前置,js页面后置,源文件合并压缩等。
第二路径,服务器的上传带宽(对应用户的下载带宽)很重要。对于网络运营商间互联互通的影响,采用三种方式:
1,分别部署网站服务器(分地区)。
2,购买代理服务器,直接连接目标骨干网。
3,主要地区城市购买CDN服务,缓存对应的数据。
第三路径,这是对于我们来说最可以发挥的地方:
1、使用缓存,根据需要使用本地缓存(OSCache)或分布式缓存(Memcached);
2、使用异步操作,这种方式不仅可以提高性能,也提高了系统的扩展性(订票系统,及时响应用户订票成功。具体数据库操作,通过消息队列服务器发送给数据库服务器做具体插入操作。插入结果已其他形式通知用户);
3、代码优化;参考《怎样编写高质量的java代码》
4、存储优化;可以考虑使用磁盘阵列、分布式储存来改善存储的性能。
性能的指标和测试
响应时间:就是用户发出请求到收到响应数据的时间;
并发量:就是系统同时能处理多少用户请求;
吞吐量:就是单位时间内系统处理的请求数量;
以高速公路的收费站为例子:响应时间是指一辆车经过收费站的时间,也就是车辆从进入收费站、付钱、开闸、离开收费站的时间;并发量是指这个收费站同时能通行多少辆车,可以理解为收费站的出口数量。吞吐量是指:在一段时间内,这个收费站通往了多少了车。
什么是性能:一个用户从输入网址到按下回车键,看到网页的快慢,这就是性能。
用户访问网站的整个流程:用户输入网站域名,通过DNS解析,找到目标服务器IP,请求数据经互联网达到目标服务器,目标服务器收到请求数据,进行处理(执行程序、访问数据库、文件服务器等)。处理完成,将响应数据又经互联网返回给用户浏览器,浏览器得到结果进行计算渲染显示给用户。
我们把整个过程,分为三段路径:
1、第一段在用户和浏览器端,主要负责发出用户请求,以及接受响应数据进行计算渲染显示给用户;
2、第二段在网络上,负责对请求数据、响应数据的传输;
3、第三段在网站服务器端,负责对请求数据进行处理(执行程序、访问数据库、文件等),并将结果返回;
第一路径,前端优化,包含浏览器缓存,css页面前置,js页面后置,源文件合并压缩等。
第二路径,服务器的上传带宽(对应用户的下载带宽)很重要。对于网络运营商间互联互通的影响,采用三种方式:
1,分别部署网站服务器(分地区)。
2,购买代理服务器,直接连接目标骨干网。
3,主要地区城市购买CDN服务,缓存对应的数据。
第三路径,这是对于我们来说最可以发挥的地方:
1、使用缓存,根据需要使用本地缓存(OSCache)或分布式缓存(Memcached);
2、使用异步操作,这种方式不仅可以提高性能,也提高了系统的扩展性(订票系统,及时响应用户订票成功。具体数据库操作,通过消息队列服务器发送给数据库服务器做具体插入操作。插入结果已其他形式通知用户);
3、代码优化;参考《怎样编写高质量的java代码》
4、存储优化;可以考虑使用磁盘阵列、分布式储存来改善存储的性能。
性能的指标和测试
响应时间:就是用户发出请求到收到响应数据的时间;
并发量:就是系统同时能处理多少用户请求;
吞吐量:就是单位时间内系统处理的请求数量;
以高速公路的收费站为例子:响应时间是指一辆车经过收费站的时间,也就是车辆从进入收费站、付钱、开闸、离开收费站的时间;并发量是指这个收费站同时能通行多少辆车,可以理解为收费站的出口数量。吞吐量是指:在一段时间内,这个收费站通往了多少了车。
相关文章推荐
- COPY 基于Flume的美团日志收集系统架构和设计
- 服务器运维与网站架构|Linux运维|X研究
- 16进制颜色码对照表
- 向架构师进军--->如何编写软件架构文档
- 向架构师进军--->架构方法基本原理
- 《大型分布式网站架构设计与实践》读书笔记
- 向架构师进军-->创建逻辑架构
- 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定
- 几个在线编译不错的网站(mark)
- Renascence架构原理——最优化算法
- 架构设计之-逻辑架构
- 301重定向是什么?
- 网站模板的应用
- 如何找到网站后台管理网页地址
- Pinterest 架构:两年内月 PV 从零到百亿【翻译】
- 网站的编写的重点
- 网站的编写顺序
- destoon后台与前端做商城网站
- Renascence架构原理——遗传规划算法
- 【三层架构】三层总结(知识型)