重点(站点优化)
优化站点 4钟
1:减少请求次数
2:减小用户请求的数据大小
3:页面缓存
4:数据缓存(HttpRuntime Cache,Redis,Memcached)
优化HTTP请求,减少请求次数
3.1、通过合并多张小图到一张大图中,利用css定位来查找不同的小图,能够减少http的请求
3.2、尽量将同一个逻辑的css代码和js代码放到同一个文件中,这样也能够减少http的请求
3.3、可以将图片和js,css等静态资源文件通过CDN缓存来减少HTTP的请求
CDN总结
CDN:内容分发网络(用于网络加速)
CDN就是一些站点,用户可以根据就近原则来获取需要请求的数据
1:当用户请求静态页面的时候,会从与其最近的CDN获取静态网页数据
2:如果用户请求的动态网页数据,那么会从Web服务器中获取网页,但是网页的一些静态数据(例如:img中的是一个储存在CDN中的数据地址),所以我们将网页返回,将CDN中获取的静态网页数据填充进去,最后将整个静态网页数据返回给用户
3:CDN会在指定的时间间隔会从Web主站中刷新数据
例子: CDN:安全宝可以免费使用
1、可以将网站的 静态资源缓存,根据请求的ip地址获取最近 的一台CDN节点将资源返回给用户
2、可以帮助抵御大量请求攻击 DDos攻击,网宿科技 可以抵御30g的DDos攻击
优化每一次http请求资源的大小
4.1、IIS会默认开启GZip的静态资源压缩 注意:压缩资源就是将js,css等一些资源的空格删除,使其数据变小
4.2、尽量在不失真的情况下优化图片资源(减少图片的大小,firework可以实现)
4.3、尽量在网站发布以后使用压缩以后的js和css文件
补充:优化数据资源 1:将css,js等数据压缩 2:将视图 js,css放在同一个文件夹下
前台页面缓存
指令集:<%@outputcache Durion = "10" %> 前台页面的本质:服务器设置last-modified和exprise 的时间 ,浏览器请求的时候会将last- modified
的时间通过If-Modifiec-Since 发送给服务器
页面缓存总结
页面缓存总结: 在第一次访问一个页面的时候不会进行缓存 因为第一次没有执行第6第7个管道事件,然后执行第15,16个事件首先判断是否有一个指令集,如果有那么就将last-modified和exprise的时间写入响应报文返回
在指定的时间内访问同一个页面的时候执行到第6第7个事件缓存完成的时候直接将数据写入响应报文中返回
数据的缓存(HttpRuntime Cache,Redis,Memcached)
6.1、数据库缓存依赖 (常用)
6.2、文件缓存依赖 (不常用)
6.3、绝对过期时间使缓存失效 (常用)
6.4、相对过期时间使缓存失效 (常用)
Redis,Memcached :是第三方软件
Redis和Memcached的本质也是Key-Value的形式来储存数据的,就利用存取值的方式能够加快读写速度
Redis代码的使用方法:需要导入4个指定的dll文件
面试题:
有一个页面同时有很多人在线,有大量的数据提交到后台来。假设数据量已经远远超过了数据库的写入速度。请问有什么方案能够解决这个 问题,而又不会让内存开销太大?
使用redis
-------------------------------------------------------------------------------------------------------------------------------------------------
浙公网安备 33010602011771号