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. 今日SGU 5.9

    SGU 297 题意:就是求余数 收获:无 #include<bits/stdc++.h> #define de(x) cout<<#x<<"=" ...

  2. git把本地文件上传到github上的步骤

    1.清除clean 2.返回上一级cd .. 3.克隆仓库地址git clone+地址 4.添加忽悠文件vim .gitignore 5查看cat .gitignore 6.进入到test,并且添加所 ...

  3. 如何优雅的写UI——(5)选项卡功能实现

    先在我们的选项卡可以说能用了,每个标签页都能点进去,但是这还远远没到能用的地步,比如说你把窗口最大化后. 立马就露出马脚了,所以这篇我们要先讲讲tabctrl的最基本的功能实现 改变选项卡大小 上图的 ...

  4. 顶级、块级、内联,html元素的三大分类

    学习html后, 你会了解一些基本的html元素(Element), 如p, h1~h6, br, div, li, ul, img等.如果将这些元素细分, 又可以分别归为顶级(top-level)元 ...

  5. webservie授权调用

    Dim usercode As String = System.Configuration.ConfigurationSettings.AppSettings("SAPWebServiceU ...

  6. jmeter响应数据中文乱码问题

    进入jmeter安装文件目录:D:\Program File\apache-jmeter-2.13\apache-jmeter-2.13\bin\ 修改jmeter.properties文件,在最下方 ...

  7. Trie&可持久化Trie

    WARNING:以下代码未经测试,若发现错误,欢迎指出qwq~ Trie树(字典树) 一种简单的数据结构,可存储大量字符串,可在$O(len)$的时间内完成插入,删除,查找等操作. 下面是一个简单的例 ...

  8. 一个统一将数据转换为JSON的方法

    这是我得方法: 导包: import net.sf.json.JSONArray; import net.sf.json.JSONObject; public void writeJson(Objec ...

  9. 从数据库中生成XML文件

    前台页面<%@ page language="java" contentType="text/html; charset=utf-8" pageEncod ...

  10. Leetcode:populating_next_right_pointers_in_each_node题解

    一.     题目 对于结构体:struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } ...