0x01
静态化,缓存,针对数据库进行优化,针对网站如何进行优化,使用过redis么?数据库优化措施等等
0x02
静态化:网站静态化,大型网站如何进行优化,优化措施,什么样的网站才算大型网站?参数:PV值,UV值,独立IP,靠这几个参数查看网站大小
PV值:网站的浏览量,指一个网站的所有页面,在一天24H内被访问的总次数。没有严格区分,上百万级别可以称之大型网站。
UV值:(unique vistor)一个网站,在一天24H内,有多少用户来访问我们的网站。百万级别以上属于大型网站。
独立IP:一个网站一天24H内,有多少个独立的IP来访问我们的网站,区别在于独立IP和局域网。
0x03
大型网站带来的问题
1.并发量问题:一个网站在同一时间内有多少人同时访问网站的某个页面。
2.带宽问题(流量):流量问题会变大
3.数据存储:数据表的容量达到 GT 级别(要求:快速的查找需要的资源)
0x04
高的并发量如何解决?
服务器架构,采用分层架构,负载均衡来处理(起分流作用),集群,读写分离
负载均衡器:硬件:F5-BIGIP 特点:立竿见影,价格昂贵,一般用于大型公司
软件:需要一台普通的服务器,只需要安装负载均衡软件,lvs(linux viturl server),nginx(可做web服务器,也可做负载均衡使用)
负载均衡技术:轮询技术:负载均衡把请求轮流发给web服务器
最少连接:负载均衡把请求转发给最空闲的服务器
IP哈希:同一个地址的客户端,始终请求同一台web服务器
读写分离:对数据库(mysql,mssql),把查询操作给次服务器,把修改的操作给主服务器。主服务器完成修改后同步,要把数据同步到次服务器,保持主服务器的数据一致
集群:数据库进行备份,防止web服务器宕机引起数据丢失,利用云技术,负载均衡也需要备份。
0X05
解决大的流量问题
1.减少http请求
主要手段就是合并(样式文件,背景图片文件,JS文件)减少http请求的次数
2.配置缓存
把一些更新不是很频繁的资源的,缓存到浏览器端,浏览器下次再请求时,直接从浏览器中取出,当浏览器取出不了时 ,还是从服务器中取出。
实现:通过web服务器配置来实现的。可通过apapche的配置文件,httpd.conf要开启缓存配置模块(expires模块)
具体的配置代码:#开启缓存的配置
ExpiresActive On
#基于文件类型类型配置缓存的
ExporesType image/jpeg “access plus 30 days”(ExporesType 模块里面的一个指令)
可以对某些文件不进行缓存(例如:会话缓存):需要开启一个模块(LoadModule),在虚拟主机里面配置
access/now 基于请求响应的一瞬间
modification基于文件最后的修改日期
3.配置压缩
减少带宽(返回数据压缩一次),减少流量,浏览器端解压
浏览器请求信息(服务器支持的压缩格式)
原理:为提高网页在网络上的传输速度,服务器对主题信息进行压缩。如:常见的GZIP压缩,compress压缩,chrome正在推得sdcn压缩。
apache上利用GZIP压缩算法进行压缩的模块有两种:mod_gzip和mod——deflate
apache 1.x 系列没有内建网页压缩技术,使用第三方mod_gzip模块
apache 2.x 系列版本中gzip压缩使用mod_deflate模块
4.把占用流量的一些资源单独部署服务器
分流作用
5.大存储方案
1.使用服务器端的缓存技术,目的是减少或不查数据库
(1)。页面静态化
(2)。内存缓存技术(redis/mysql里面的memeory引擎)
要从数据库方面成眠来提高响应技术
2.数据库方面的优化