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到硬盘来解决高并发方案总结)的更多相关文章

  1. PHP解决网站大流量与高并发

    1:硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力 软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬 ...

  2. PHP如何解决网站大流量与高并发的问题(一)

    高并发的相关概念 在某个时间点,有多少个访问量 如果一个系统的日PV在千万以上,有可能是一个高并发的系统 QPS: 每秒钟请求或者查询的数量,在互联网领域,指每秒相应请求数(指HTTP请求) 吞吐量: ...

  3. 转:基础篇|PHP如何解决网站大流量和高并发

    基础篇 高并发架构基础概念和优化思路 高并发架构相关概念 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程 ...

  4. PHP如何解决网站大流量与高并发的问题(二)

    转载:https://zhyunfe.github.io/2017/10/02/php-interview-prepare-hc-2/ 数据库缓存 相关概念 什么是数据库缓存? 为什么使用缓存 使用M ...

  5. PHP如何解决网站大流量与高并发的问题

    首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻 ...

  6. PHP如何解决网站大流量与高并发的…

    首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻 ...

  7. PHP如何解决网站大流量与高并发的问题(四)

    动态语言的并发处理 相关概念 什么是进程.线程.协程 什么是多进程.多线程 同步阻塞模型 异步非阻塞模型 php并发编程实践 什么是进程.线程.协程 进程 进程是一个执行中的程序 进程的三态模型:多道 ...

  8. PHP如何解决网站大流量与高并发的问题(三)

    七层负载均衡的实现 基于URL等应用层信息的负载均衡 Nginx的proxy是一个很强大的功能,实现了7层负载均衡 功能强大.性能卓越,运行稳定 配置简单灵活 能自动提出工作不正常的后端服务器 上传文 ...

  9. PHP解决网站大数据大流量与高并发

    1:硬件方面 普通的一个p4的服务器每天最多能支持10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬盘读写 ...

随机推荐

  1. CodeForce 424C Magic Formulas

    这个题就是求出给的公式的结果. 仅仅要知道异或运算满足交换律跟结合律即可了.之后就是化简公式. #include<map> #include<string> #include& ...

  2. 计蒜客 429(腾讯手机地图-pi的精确值)

    腾讯手机地图的定位功能用到了用户手机的多种信号.这当中有的信号的作用范围近.有的信号作用的范围则远一些.有的信号相对于用户在不同的方位强度是不同的.有的则是在不论什么一个方向上信号强度都一致的. 已知 ...

  3. ajax同时请求多个服务器?

    这是地址, http://119.29.23.116/info.php 大侠你怎么看 想利用雅黑探针检测服务器的在线状态,但对AJAX多个请求不会操作 header('Access-Control-A ...

  4. Fragment-按返回键程序退出

    今天在做fragment的时候,发现一个问题,当我的界面停留在fragment的时候,按物理返回键,这时候会推出整个应用.这当然不是我们期望的,我们期望按返回键以后,应用界面返回添加fragment之 ...

  5. Appium_python3使用汇总

    1. 对webview页面元素的处理self.driver.switch_to.context("WEBVIEW_com.aaa.bbb")source = self.driver ...

  6. MFC只允许程序单开

    很多玩游戏的人都知道一般游戏客户端程序是不允许双开的,就是说在同一游戏在启动的时候,是无法打开多个窗口.很多其他软件如酷狗播放器等也是这样.如果把打开的窗口最小化,这时重新启动程序,最小化的窗口会被显 ...

  7. CISP/CISA 每日一题 12

    CISA 每日一题(答) 支付系统模式有哪些: 电子现金模式:支付者不必在线,无条件不可追溯性 电子支票模式:支付者不必在线,涉及个人隐私 电子转帐模式:收款人不必在线 图象处理中,应该有适当的___ ...

  8. WPF 入门《布局面板》

    常见的几个布局面板 1.StackPanel面板 StackPanel面板能够简单根据单行或者单列进行元素排列, StackPanel 默认的布局方向为垂直方向(Vertical), 由Orienta ...

  9. win7打不开chm格式文件

           近期在开发的过程中,发现重装的系统Wind7 打不开java帮助文档.搜索了半天才找到. 在这里分享一下. 一.假设不能打开,可这样恢复文件关联: 1.開始执行,输入:regsvr32 ...

  10. angular设置全局变量,可修改监听变量

    创建service.module.ts import { NgModule, ModuleWithProviders } from '@angular/core'; import { SomeShar ...