php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)
php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)
一、总结
从外到内解决网站大流量高并发问题---从提交一个url开始(从用户按下搜索栏回车键开始)
url最开始会到dns域名服务器,dns可以根据域名所连的多个ip来按一定的方案分配ip,所以就可以有dns负载均衡
1、dns负载均衡
然后就到了具体的服务器,比如Linux服务器,linux服务器最常用的均衡技术就是lvs(Linux Virtural Server)
2、负载均衡器(例如lvs)
为了防止某一台服务器出故障而部分用户体验差的问题,就可以用到集群技术
3、集群服务器
然后就到了服务器上面的web服务器层面(Maven,apache,nginx),如果并发量实在高可以用nginx
4、web服务器采用nginx(并发量2W+)
然后就到了框架层面,我们可以用静态缓存技术将动态页面变成静态页面,比如thinkphp
5、静态缓存(tp,smarty)

静态缓存只是实现了动态编程代码编程静态编程代码,数据还得到数据库中去取,那么我们可以缓存数据数据,这里有两种方案,a将数据库中的常用数据缓存到文件中,b将数据库的常用数据缓存的内存中
6、文件数据缓存(tp)--以文件的方式缓存数据库中的数据

电脑从文件中读取数据显然没有直接从内存中读取的要快,所以下面可以用内存缓存数据库中的数据
7、内存数据缓存(memcache,redis)--以内存的方式访问数据库中的数据
然后就到了数据库,那最常用的优化技术就是index索引技术
8、给数据库添加索引
数据库的下面就是硬盘了,我们可以用硬盘阵列技术
9、磁盘阵列技术
二、php面试题二--解决网站大流量高并发方案
10,描述一下大流量高并发量网站的解决方案
1)lvs 或 nginx 负载均衡器
2)squid 缓存或 nginx web cache 缓存
3)web 服务器选型(nginx 代替 apache)
4)php 代码静态化(smarty 或框架)
5)sphinx
6)memcache
7)sql 语句一定要注意索引使用
8)主从分流
9)分库分表或分区
10)磁盘分布(raid0+raid1)
Mysql 数据库优化:
1.sql 语句(索引优化,语句定位:1.慢查询 2. desc 或 explain 去解析 sql 语句,分析索引使用
情况以及扫描行数)
2.表优化(表引擎使用:myisam 或 innodb)
3.数据库优化(分库分表或分区)
4.服务器优化(四种字符集,主从 mysql)
7.解决大访问量
web服务器:
至少两台以上服务器来提交对客户的请求,web服务器负载均衡,apache并发人数3000左右,nginx并发人数20000左右
mysql服务器:
多台mysql服务器对外提供sql响应,数据库服务器负载均衡
软件:
1)静态缓存
2)数据缓存
数据库:
1)字段加索引
2)分表
8.mysql优化
1)服务器优化
1)服务器负载均衡
2)数据库优化
1)myisam表引擎
3)表优化
1)分表
2)字段索引
4)sql语句优化
1)写sql语句时,where后面的字段尽量使用加索引的字段,而且要小心有的sql语句会让索引失效.
什么网站的高并发大
比如qq(通讯类),视频网站(同一时间看同一个视频的),游戏网站
大流量有一定几率带来高并发
php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)的更多相关文章
- PHP解决网站大流量与高并发
1:硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力 软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬 ...
- PHP如何解决网站大流量与高并发的问题(一)
高并发的相关概念 在某个时间点,有多少个访问量 如果一个系统的日PV在千万以上,有可能是一个高并发的系统 QPS: 每秒钟请求或者查询的数量,在互联网领域,指每秒相应请求数(指HTTP请求) 吞吐量: ...
- 转:基础篇|PHP如何解决网站大流量和高并发
基础篇 高并发架构基础概念和优化思路 高并发架构相关概念 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程 ...
- PHP如何解决网站大流量与高并发的问题(二)
转载:https://zhyunfe.github.io/2017/10/02/php-interview-prepare-hc-2/ 数据库缓存 相关概念 什么是数据库缓存? 为什么使用缓存 使用M ...
- PHP如何解决网站大流量与高并发的问题
首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻 ...
- PHP如何解决网站大流量与高并发的…
首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻 ...
- PHP如何解决网站大流量与高并发的问题(四)
动态语言的并发处理 相关概念 什么是进程.线程.协程 什么是多进程.多线程 同步阻塞模型 异步非阻塞模型 php并发编程实践 什么是进程.线程.协程 进程 进程是一个执行中的程序 进程的三态模型:多道 ...
- PHP如何解决网站大流量与高并发的问题(三)
七层负载均衡的实现 基于URL等应用层信息的负载均衡 Nginx的proxy是一个很强大的功能,实现了7层负载均衡 功能强大.性能卓越,运行稳定 配置简单灵活 能自动提出工作不正常的后端服务器 上传文 ...
- PHP解决网站大数据大流量与高并发
1:硬件方面 普通的一个p4的服务器每天最多能支持10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬盘读写 ...
随机推荐
- python 中文文档地址总结
sqlalchemy: https://www.imooc.com/article/details/id/22343
- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
代码: package com.liron.p1; import java.io.IOException; import java.util.Scanner; /** * 求s=a+aa+aaa+aa ...
- pytest使用问题总结
问题一.AttributeError: module 'pytest' has no attribute 'allure'解决方法:pip3 uninstall pytest-allure-adapt ...
- LightOJ 1300 Odd Personality
Odd Personality Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on LightOJ. Ori ...
- maven 遇到failOnMissingWebXml有关问题解决方法
(转自) http://blog.csdn.net/liuvlun/article/details/50218507
- smarty模板引擎(一)基础知识
一.基本概念 1.什么是mvc? mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty? smarty是一个php的模板引擎.更明白的 ...
- 制作 wordpress 博客静态化到本地
wget 克隆 wordpress 博客镜像 wget -e robots=off -w 1 -xq -np -nH -pk -m -t 1 -P "./wordpress.org" ...
- actionBar-shareIcon 分享按钮的修改
今天为了修改图库的分享按钮,进行了很多的尝试 1.寻找到了xml文件,如下 <?xml version="1.0" encoding="utf-8"?&g ...
- [NowCoder]牛客网NOIP赛前集训营-提高组(第七场)
链接 A.中国式家长2 模拟题,毫无坑点 #include<bits/stdc++.h> #define REP(i,a,b) for(int i(a);i<=(b);++i) #d ...
- 24.Node.js Stream(流)
转自:http://www.runoob.com/nodejs/nodejs-stream.html Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请 ...