一、增长缓存,减小磁盘的访问次数。css
二、优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操做系统层面考虑的。前端
三、设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在应用层面考虑的。例如,咱们能够给存放的数据设计索引,经过寻址索引来加快和减小磁盘的访问量,还能够采用异步和非阻塞的方式加快磁盘的访问速度。web
四、应用合理的RAID策略提高磁盘I/O。算法
一、减小网络交互的次数(屡次请求合并)。数据库
二、减小网络传输数据量的大小(压缩),好比优化图片大小,压缩js,css文件大小。浏览器
三、尽可能减小编码(尽可能提早将字符转化为字节,或者减小从字符到字节的转化过程。)缓存
四、使用浏览器缓存。服务器
五、减小Cookie传输。网络
六、合理布局页面。负载均衡
七、使用页面压缩(gzip)。
八、延迟加载页面。
九、CSS在最上面,JS在最下面。
十、CDN缓存静态内容,提升响应速度。
十一、反向代理
十二、页面静态化
1三、异地部署
拒绝服务和关闭服务
有些服务自然具备幂等性,好比讲用户性别设置为男性,无论设置多少次,结果都同样。可是对转帐交易等操做,问题就会比较复杂,须要经过交易编号等信息进行服务调用有效性校验,只有有效的操做才能继续执行。
(注:幂等性是系统的接口对外一种承诺(而不是实现), 承诺只要调用接口成功, 外部屡次调用对系统的影响是一致的. 声明为幂等的接口会认为外部调用失败是常态, 而且失败以后必然会有重试.)
HTTP重定向负载均衡
当用户发来请求的时候,Web服务器经过修改HTTP响应头中的Location标记来返回一个新的url,而后浏览器再继续请求这个新url,实际上就是页面重定向。经过重定向,来达到“负载均衡”的目标。例如,咱们在下载PHP源码包的时候,点击下载连接时,为了解决不一样国家和地域下载速度的问题,它会返回一个离咱们近的下载地址。重定向的HTTP返回码是302。
优势:比较简单。
缺点:浏览器须要两次请求服务器才能完成一次访问,性能较差。重定向服务自身的处理能力有可能成为瓶颈,整个集群的伸缩性国模有限;使用HTTP302响应码重定向,有可能使搜索引擎判断为SEO做弊,下降搜索排名。
DNS域名解析负载均衡
DNS(Domain Name System)负责域名解析的服务,域名url其实是服务器的别名,实际映射是一个IP地址,解析过程,就是DNS完成域名到IP的映射。而一个域名是能够配置成对应多个IP的。所以,DNS也就能够做为负载均衡服务。
事实上,大型网站老是部分使用DNS域名解析,利用域名解析做为第一级负载均衡手段,即域名解析获得的一组服务器并非实际提供Web服务的物理服务器,而是一样提供负载均衡服务的内部服务器,这组内部负载均衡服务器再进行负载均衡,将请求分发到真是的Web服务器上。
优势:将负载均衡的工做转交给DNS,省掉了网站管理维护负载均衡服务器的麻烦,同时许多DNS还支持基于地理位置的域名解析,即会将域名解析成举例用户地理最近的一个服务器地址,这样能够加快用户访问速度,改善性能。
缺点:不能自由定义规则,并且变动被映射的IP或者机器故障时很麻烦,还存在DNS生效延迟的问题。并且DNS负载均衡的控制权在域名服务商那里,网站没法对其作更多改善和更强大的管理。
反向代理负载均衡
反向代理服务能够缓存资源以改善网站性能。实际上,在部署位置上,反向代理服务器处于Web服务器前面(这样才可能缓存Web相应,加速访问),这个位置也正好是负载均衡服务器的位置,因此大多数反向代理服务器同时提供负载均衡的功能,管理一组Web服务器,将请求根据负载均衡算法转发到不一样的Web服务器上。Web服务器处理完成的响应也须要经过反向代理服务器返回给用户。因为web服务器不直接对外提供访问,所以Web服务器不须要使用外部ip地址,而反向代理服务器则须要配置双网卡和内部外部两套IP地址。
优势:和反向代理服务器功能集成在一块儿,部署简单。
缺点:反向代理服务器是全部请求和响应的中转站,其性能可能会成为瓶颈。
LVS-NAT:修改IP地址
LVS-TUN: 一个IP报文封装在另外一个IP报文的技术。
LVS-DR:将数据帧的MAC地址改成选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。
7.减小DNS查询次数
8. 代码优化
提升代码质量,减小重复代码,使用效率更高的算法,少使用递归。