php 处理 大并发

小谈php处理 大并发 大流量 大存储php

一.判断大型网站的标准:css

1.pv(page views)网页的浏览量:mysql

概念:一个网站全部的页面,在24小时内被访问的总的次数。千万级别,百万级别linux

2. uv值(unique visitor)独立访客nginx

概念:一个网站,在24小时内,有多少个用户来访问咱们的网站,达到10万web

3. 独立ip 重点内容redis

概念:一个网站,在24小时内,有多少个ip来访问咱们的网站。sql

uv值约等于独立ip若是要考虑局域网,uv值略大于独立ipmongodb

二 大型网站带来的一些问题数据库

1 大的并发。

并发量:在同一时间点(1秒内),有多少个用户同时访问咱们的网站。对同一个网址,同时刷新浏览器,。达到500 就很是大了,

假如并发量是500 pv值是多少,500*3600*10

2 大流量

网站须要的大的宽带 10G

3. 大的存储

网站中的数据库,表的容量成海量趋势,GT级别,如何快速的查找处想要的数据。

三  大并发的解决方案:

1.负载均衡器:

硬件:f5-bigip性能比较好,立竿见影,价格昂贵 通常适合于大型网站公司,网游公司。

软件:

lvs(linux virtual server)linux虚拟服务,加入到linux的内核中,

nginx:能够作web服务器(apache),还能够作负载均衡。

2. 负载均衡实现的方式:

主要有:

轮询技术:客户端请求服务器轮流转发。

ip哈希:同一ip地址的客户端,始终请求同一台服务器。

最少连接:把请求转发给最空闲的服务器。

3,集群:

主要是解决计算机单点故障,在一个集群中的计算机,只有一台计算机工做,其余计算机处于休眠状态,监视正在工做的计算机,当正在工做的计算机出现问题,则休眠的计算机马上接替工做。

四 大流量解决方案:

一、防止咱们的网站资源被盗链。

能够采用一些非技术手段防止被盗链,图片上添加水印

2.减小http请求,

只要手段就是合并js文件,css文件,背景图片的文件。将浏览器须要的样式文件或者js文件,合并成一个样式或js文件,好比经过背景图片举个例子。

3. 启用压缩

减小数据传输的数据量,常见的压缩格式是: gzip deflate

4 经过浏览器缓存数据内容,

在网站中有一些资源,好比js文件 css文件一些图片文件,更新的频率比较少,经过这个设置的http的

cache-control expires属性来进行设置缓存,能够设置缓存的文件类型,设置缓存的缓存周期,。

5 能够把比较占用流量的一些资源,单独组建一个服务器,

好比图片服务器,视频服务器等。

五 大存储决绝方案:

1.缓存技术:

经过缓存技术,达到不查询数据库或者少查询数据库的目的。

计算机的访问速度,内存>硬盘文件>数据库

缓存技术主要有:

硬盘缓存(页面静态化),把一个查询数据库的页面变成一个不查询数据库的页面

内存缓存:把常常查询的数据保存到内存里面,下次查询数据时候直接在内存里面查询。

(memcache/redis/mysql的memory引擎)

2.在设计表的时候,要知足3范式

第一范式是: 原子性,字段不能再分割了,只要是关系型数据库就自动知足第一范式:

数据库的分类: 

关系型数据库:有行和列的概念,二维表格,常见的关系型数据库:mysql, sql server oracle db2

非关系型数据库(nosql)面向集合和文栋的,没有行和列的概念常见的有redis/mongodb等,

第二范式:在一个表中不能有彻底相同的记录,能够经过设置一个主键。

第三范式:表中的字段不能冗存储。

3 要给表添加适当的索引:索引很是重要的,能够提升查询速度。

常见索引有:主键索引, 惟一索引 普通索引, 全文索引

4 要建立适当的存储过程函数 触发器等

5 读写分离(只从服务器)

6 分表技术(垂直分割和水平分割)

7 分区技术

把一个表的数据内容,在不一样的区域存储。

8 升级mysql服务器(添加配置:加大内容 64位)

9 要对sql语句进行调优

select * from tablename 该语句不要使用,要按需查询,须要那个字段的数据,就查询那个字段的数据,

10 对配置文件进行优化配置

好比配置mysql数据库的并发量:

相关文章
相关标签/搜索