php面试题高并发,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)

11c24bc5147d391c78bc6c53da60108a.png

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

6、文件数据缓存(tp)--以文件的方式缓存数据库中的数据

fb750a9e519dbdcdc6c39cde429c30a0.png

电脑从文件中读取数据显然没有直接从内存中读取的要快,所以下面可以用内存缓存数据库中的数据

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(通讯类),视频网站(同一时间看同一个视频的),游戏网站

大流量有一定几率带来高并发

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值