网站优化 大并发 大流量 大存储 负载均衡 集群

61 篇文章 2 订阅
58 篇文章 1 订阅
1、pv(page views)网页的浏览量:
概念:一个网站所有的页面,在24小时内被访问的总的次数。千万级别,百万级别,
2、uv值(unique vistor)独立访客
概念:一个网站,在24小时内,有多少个用户来访问我们的网站。达到10万
3、独立ip,
概念:一个网站,在24小时内,有多少个ip来访问我们的网站。
uv值约等于独立ip.如果要考虑局域网,uv值略大于独立ip

公司内用户访问请求由公司路的公网ip地址转发


1、大的并发。
并发量:在同一时间点(1秒内),有多少个用户同时访问我们的网站。对同一个网址,同时刷新浏览器。达到500,就非常大了。
假如并发量是500,pv值是多少。500*3600*10=18000000


QPS=queries per second
RPS=requests per second
QPS = req/sec = 请求数/秒


【QPS计算PV和机器的方式】


QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 *   请求时间 )
QPS: 单个进程每秒请求服务器的成功次数
单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8


服务器计算
服务器数量 =   ceil( 每天总PV / 单台服务器每天总PV )


【峰值QPS和机器计算公式】


原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS   = 需要的机器


问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)


问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3


什么是PR值
  PR值,即PageRank,网页的级别技术。取自Google的创始人Larry Page,它是***运算法则(排名公式)的一部分,用来标识网页的等级/重要性。级别从1到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)。


  例如:一个PR值为1的网站表明这个网站不太具有流行度,而PR值为7到10则表明这个网站非常受欢迎(或者说极其重要)


并发的负载均衡 硬件F5 性能比较好,立竿见影,价格昂贵,一般适合于大型网站公司,网游公司

软件:
lvs(linux virtual server)linux虚拟服务,加入到linux的内核中。
nginx:可以做web服务器(apache),还可以做负载均衡。

主要有:
轮询技术:客户端请求服务器轮流转发。1,2,3轮着来请求,第一次是服务器1
ip哈希:同一ip地址的客户端,始终请求同一台服务器。
最少连接:把请求转发给最空闲的服务器。


集群

主要是解决计算机单点故障,在一个集群中的计算机,只有一台计算机工作,其他计算机处于休眠状态,监视正在工作的计算机(心跳监测),当正在工作的计算机出现问题,则休眠的计算机立刻接替工作。

主服务器负责修改,从的服务器负责查询.主服务器要把修改后的结果同步给从服务器,同步有延迟,但在同一局域网中,延迟可以忽略


大流量

需防止盗链

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

css sprite


启用数据压缩

设置浏览器缓存

单独设置图片服务器 视频服务器

要注意:资源服务器的配置:
存储资源的服务器:主要要求是硬盘的容量,读写速度。 
可以组建磁盘阵列。 
raid0
raid1
磁盘阵列的存储技术: 
分布存储:至少是两块硬盘 
复制存储:至少是两块硬盘 

网页静态化,CDN加速


大存储

1、缓存技术:
通过缓存技术,达到不查询数据库或者少查询数据库的目的。
计算机的访问速度,内存》硬盘文件》数据库
缓存技术主要有:
磁盘缓存(页面静态化),把一个查询数据库的页面变成一个不查询数据库的页面
内存缓存:把经常查询的数据保存到内存里面,下次查询数据时候直接在 内存里面查询。
(memcache/redis/mysql的memory引擎)


2、在设计表的时候,要满足3范式
第一范式是:原子性,字段不能再分割了。只要是关系型数据库就自动满足第一范式:
数据库的分类:
关系型数据库:有行和 列的概念,二维表格。常见的关系型数据库:mysql,sql server,oracle,db2,
非关系型数据库(nosql)面向集合和 文档的,没有行和列的概念常见的有redis/mongodb等。
第二范式:在一个表中不能有完全相同的记录。可以通过设置一个主键。
第三范式:表中的字段不能冗余存储。


增加索引

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

读写分离(主从服务器)

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

要对sql语句进行调优 sql语句优化

select * from tablename   该语句不要使用,要按需查询。需要哪个字段的数据,就查询哪个字段的数据。
1尽量选择较小的列
2) 将where中用的比较频繁的字段建立索引
3) select子句中避免使用‘*’
4) 避免在索引列上使用计算、not in 和<>等操作
5) 当只需要一行数据的时候使用limit 1
6) 保证单表数据不超过200W,适时分割表。
针对查询较慢的语句,可以使用explain 来分析该语句具体的执行情况。

选择一个正确的存储引擎
在 MySQL 中有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。酷壳以前文章《MySQL: InnoDB 还是 MyISAM?》讨论过这个事情。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值