高并发大流量专题---1、高并发大流量解决方案总结

一、总结

一句话总结:

可以根据 前后端数据库顺序 及 QPS数量来 决定优化方法

1、PHP如何解决网站大流量与高并发的问题?

流量优化+前端优化:比如防盗链处理、减少HTTP请求、添加异步请求、CDN加速、建立独立图片服务器、启用浏览器缓存和文件压缩等等
服务端优化+Web服务器优化:比如页面静态化、并发处理、队列处理、负载均衡等等
数据库优化:比如数据库缓存、分库分表、分区操作、读写分离、负载均衡等等

2、我们说的高并发是什么?

不是操作系统中的并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
某个时间点的并发访问量:上面的定义明显不是我们通常所言的并发,在互联网时代,所讲的并发、高并发,通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。
日PV在干万以上:通常如果一个系统的日PV在干万以上,有可能是一个高并发的系统

3、高并发解决方案?

技术:各种优化、缓存、负载均衡等技术
机器堆:有的公司完全不走技术路线,全靠机器堆,有钱,任性

4、高并发的问题中,需要了解的一些名词?

qps、吞吐量、响应时间、pv、uv、带宽、日网站带宽、峰值

QPS:每秒响应请求数(指HTTP请求):每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求);
吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定)
响应时间:从请求发出到收到响应花费的时间。例如系统处理一个HTTP请求需要100ms,这个100ms就是系统的响应时间
PV:综合浏览量(Page View),即页面浏览量或者点击量,一个访客在24小时内访问的页面数量;同一个人浏览你的网站同一页面,只记作一次PV
UV:独立访客(UniQue Visitor),即一定时间范围内相同访客多次访问网站,只计算为1个独立访客
带宽:计算带宽大小需关注两个指标,峰值流量和页面的平均大小
日网站带宽=PV/统计时间(换算到秒)*平均页面大小(单位KB)*8
峰值一般是平均值的倍数,根据实际情况来定
峰值每秒请求数(QPS)=(总PV数*80%)/(6小时秒数*20%)

5、日网站带宽如何计算?

带宽:计算带宽大小需关注两个指标,峰值流量和页面的平均大小
日网站带宽=PV/统计时间(换算到秒)*平均页面大小(单位KB)*8

峰值一般是平均值的倍数,根据实际情况来定

6、QPS 等于并发连接数 么?

不等于:QPS是每秒HTTP请求数量,并发连接数是系统同时处理的请求数:一个连接里面可能有多个http请求

7、峰值每秒请求数(QPS) 如何计算?

峰值每秒请求数(QPS)=(总PV数*80%)/(6小时秒数*20%)
80%的访问量集中在20%的时间

8、压力测试是什么?

最大并发:测试服务器集群(或单台)能承受的最大并发
QPS值:测试服务器集群(或单台)最大承受的QPS值

一般了解单台服务器能够承受的QPS是多少

9、常用性能测试工具?

ab、wrk.http load、Web Bench、Siege、Apache JMeter
ab:全称是apache benchmark,是apache官方推出的工具
ab原理:创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

10、ab(apache benchmark)是apache官方推出的工具,那么它能够测试nginx么?

能:它的测试目标是基于URL的:ab创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

11、ab的使用(比如 模拟并发请求100次,总共请求5000次)?

运行ab命令:ab -c 100 -n 5000 待测试网站

12、ab测试注意事项?

测试机器与被测试机器分开
不要对线上服务做压力测试
不超过最高限度的75%:观察测试工具ab所在机器,以及被测试的前端机的CPU,内存,网络等都不超过最高限度的75%

13、如何安装使用ab测试?

独立安装:yum -y install httpd-tools
一般安装apache会自动安装ab
ab使用:ab -c 100 -n 5000 http://192.168.52.6/index
[root@localhost ~]# ab -c 100 -n 5000 http://192.168.52.6/index
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.52.6 (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Completed 5000 requests
Finished 5000 requestsServer Software:        Apache
Server Hostname:        192.168.52.6
Server Port:            80Document Path:          /index
Document Length:        1917 bytesConcurrency Level:      100
Time taken for tests:   22.049 seconds
Complete requests:      5000
Failed requests:        3(Connect: 0, Receive: 0, Length: 3, Exceptions: 0)
Write errors:           0
Total transferred:      11438133 bytes
HTML transferred:       9579249 bytes
Requests per second:    226.77 [#/sec] (mean)
Time per request:       440.972 [ms] (mean)
Time per request:       4.410 [ms] (mean, across all concurrent requests)
Transfer rate:          506.61 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:        0    1   9.0      0     125
Processing:     1  419 1614.8     68   17425
Waiting:        0  412 1601.8     68   17425
Total:          1  420 1614.8     72   17427Percentage of the requests served within a certain time (ms)50%     7266%    12575%    16380%    19390%    39995%    98798%   701999%   9085100%  17427 (longest request)

14、不同QPS下,优化与哪些方面有关?

硬件条件
网络带宽

随着QPS的增长,每个阶段需要根据实际情况来进行优化,优化的方案也与硬件条件、网络带宽息息相关。

15、不同QPS下的优化方案?

QPS100:数据库缓存层、数据库的负载均衡
QPS800:CDN加速、负载均衡
QPS1000:静态HTML缓存
QPS2000:做业务分离,分布式存储

16、QPS达到50 需要优化么?

可以不需要;称之为小型网站,一般的服务器就可以应付

17、QPS达到100 如何优化?

|||-begin

假设关系型数据库的每次请求在0.01秒完成;

假设单页面只有一个SQL查询,那么100QPS意味着1秒钟完成100次请求,但是此时我们并不能保证数据库查询能完成100次

|||-end

数据库缓存层、数据库的负载均衡

18、QPS 达到800 如何优化?

|||-begin

假设我们使用百兆带宽,意味着网站出口的实际带宽是8M左右

假设每个页面只有10K,在这个并发条件下,百兆带宽已经吃完

|||-end

CDN加速、负载均衡

19、QPS 达到1000 如何优化?

|||-begin

假设使用Memcache缓存数据库查询数据,每个页面对Memcache的请求远大于直接对DB的请求

Memcache的悲观并发数在2w左右,但有可能在之前内网带宽已经吃光,表现出不稳定

|||-end

静态HTML缓存

20、QPS 达到2000 如何优化?

|||-begin

这个级别下,文件系统访问锁都成为了灾难

|||-end

做业务分离,分布式存储

21、高并发优化的方向有哪些?

流量优化+前端优化:比如防盗链处理、减少HTTP请求、添加异步请求、CDN加速、建立独立图片服务器、启用浏览器缓存和文件压缩等等
服务端优化+Web服务器优化:比如页面静态化、并发处理、队列处理、负载均衡等等
数据库优化:比如数据库缓存、分库分表、分区操作、读写分离、负载均衡等等

流量优化 方法
防盗链处理

前端优化 方法
减少HTTP请求
添加异步请求:比如ajax
启用浏览器缓存和文件压缩
CDN加速
建立独立图片服务器

服务端优化 方法
页面静态化
并发处理
队列处理

数据库优化 方法
数据库缓存
分库分表、分区操作
读写分离
负载均衡

Web服务器优化 方法
负载均衡

22、流量优化 方法?

防盗链处理

23、前端优化 方法?

减少HTTP请求
添加异步请求:比如ajax
启用浏览器缓存和文件压缩
CDN加速 + 建立独立图片服务器

24、服务端优化 方法?

页面静态化
并发处理
队列处理

25、数据库优化 方法?

数据库缓存
分库分表、分区操作
读写分离
负载均衡

26、Web服务器优化 方法?

负载均衡

27、如何查看页面的响应时间?

chrome浏览器->network->右下角红色字:比如 Load:1.65s

95 requests I 409 KB transferred I 718 KB resources l Finish:3.06s l DOMContentloaded:910 ms I Load:1.65s

二、内容在总结中

转载于:https://www.cnblogs.com/Renyi-Fan/p/11045520.html

高并发大流量专题---1、高并发大流量解决方案总结相关推荐

  1. 高并发大流量专题---8、动态语言的并发处理

    高并发大流量专题---8.动态语言的并发处理 一.总结 一句话总结: 和本科毕业论文连起来了:基于消息中间件Rocket MQ的研究:用于并发处理的消息队列 1.什么是进程.线程.协程? 进程(Pro ...

  2. 高并发大流量专题---5、CDN加速

    高并发大流量专题---5.CDN加速 一.总结 一句话总结: CDN就是多整几台节点服务器,选距离用户最近的服务器来给用户服务,实现的话可以用阿里云.腾讯云他们提供的功能,简单方便,妈妈再也不用担心我 ...

  3. 高并发大流量专题---6、独立图片服务器的部署

    高并发大流量专题---6.独立图片服务器的部署 一.总结 一句话总结: 独立图片服务器还是非常有必要的,可以很大程度的降低主服务器的io以及提升用户访问速度 1.独立图片服务器 独立的必要性? 分担W ...

  4. 高并发大流量专题---10、MySQL数据库层的优化

    高并发大流量专题---10.MySQL数据库层的优化 一.总结 一句话总结: mysql先考虑做分布式缓存,过了缓存后就做mysql数据库层面的优化 1.mysql数据库层的优化的前面一层是什么? 数 ...

  5. 高并发大流量专题---3、前端优化(减少HTTP请求次数)

    高并发大流量专题---3.前端优化(减少HTTP请求次数) 一.总结 一句话总结: 图片地图:使用<map><area></area></map>标签. ...

  6. 服务器系统怎么做高并发,QPS 高并发 如何设计一个支撑高并发大流量的系统?...

    QPS 高并发 如何设计一个支撑高并发大流量的系统? 高并发架构相关概念 什么是并发? 并发是指并发的访问,也就是某个时间点,有多少个访问同时到来: 通常如果一个系统的日PV在千万以上,有可能是一个高 ...

  7. 多年亿级流量下的高并发经验总结,我毫无保留的写在了这本书中(CSDN创始人、总裁、副总裁联合推荐)

    大家好,我是冰河~~ 今天,给大家隆重的宣布一个好消息:继出版<海量数据处理与大数据技术实战>.<MySQL技术大全:开发.优化与运维实战>和<深入理解分布式事务:原理与 ...

  8. 2023春招面试专题:高并发解决方案

    如何理解高并发? 高并发意味着大流量,需要运用技术手段抵抗流量的冲击,这些手段好比操作流量,能让流量更平稳地被系统所处理,带给用户更好的体验. 我们常见的高并发场景有:淘宝的双11.春运时的抢票.微博 ...

  9. 多年亿级流量下的高并发经验总结,都毫无保留地写在了这本书中

    随着互联网的不断发展,CPU硬件的核心数也在不断提升,并发编程越来越普及,但是并发编程并不像其他业务那样简单明了. 在编写并发程序时,往往会出现各种各样的Bug,这些Bug常常以某种"诡异& ...

  10. [转]携程大数据实践:高并发应用架构及推荐系统案例

    本文来自携程技术中心基础业务研发部的<应用架构涅槃>系列分享.据基础业务研发部负责人李小林介绍,互联网二次革命的移动互联网时代,如何吸引用户.留住用户并深入挖掘用户价值,在激烈的竞争中脱颖 ...

最新文章

  1. PHPMailer类 发送邮件
  2. Xamarin XAML语言教程基本页面ContentPage占用面积
  3. Winform中自定义ZedGraph右键复制成功后的提示
  4. mapreduce分组统计_mongodb中使用mapreduce进行分组统计
  5. 包含图片,复选框的ListView(转)
  6. php获取html选择日期_php获取远程页面html状态码的方法
  7. 前端解析ipa、apk安装包信息 —— app-info-parser
  8. UC大裁员:全体带薪休假至3月31日,补偿措施羡煞网友!
  9. EPUB电子书专用阅读软件
  10. 可信任的人工智能(三)
  11. 微信开发之小程序UI设计规范
  12. 城市记忆:(一)灵洲----河奇;(二)富平三迁
  13. Low-Light Image and Video Enhancement Using Deep Learning: A Survey 论文阅读笔记
  14. python 打开xls文件写数据
  15. 微信内打开链接,跳转到公众号关注页面
  16. php json接口转化为数组 生成xml接口
  17. LightOJ 1197 Help Hanzo
  18. 华为弹性云服务器进修复模式,华为云弹性云控制面板简要解析
  19. Docker容器-------网络模式,数据卷和数据卷容器
  20. 程序员的“青春饭”能吃多久?IT行业的“年龄焦虑”该贩吗?

热门文章

  1. 目录 1.1. JVM内存模型总体架构图 1 1.2. JAVA堆 2 1.3. 方法区 元空间(Metaspace) 2 1.4. 虚拟机栈 3 1.5. 本地方法区 4 2. 垃圾回收算法 4 2
  2. paip. erlang语法C++语法对比attilax总结
  3. paip.声音按键音延迟的解决
  4. paip.网站扫描安全工具hp WebInspect 使用指南
  5. 免费下载!阿里云重磅发布《云网络白皮书》,开启云网络3.0时代
  6. 揭秘云网络大会“网红”:阿里云自研高性能网关XGW
  7. 面对10倍需求只用 40% 成本,这是一种怎样的体验?
  8. Kafka从上手到实践 - 实践真知:搭建单机Kafka | 凌云时刻
  9. 【TSP】基于matlab遗传算法求解旅行商问题【含Matlab源码 1337期】
  10. 【优化算法】动态粒子群算法的动态环境寻优算法【含Matlab源码 1125期】