前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器应对大流量请求措施

服务器应对大流量请求措施

作者头像
Java高级架构
发布2018-04-19 11:10:20
2K0
发布2018-04-19 11:10:20
举报
文章被收录于专栏:JAVA高级架构JAVA高级架构
  1. 硬件升级
    1. 硬件是基础,如果流量级别真的到大流量级别了,那么硬件基础肯定不能差。
  2. 负载均衡
    1. 根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求。
    2. 硬件方面可以考虑专门负责负载均衡的硬件F5;对于大部分公司,会选择廉价有效的方法扩展整个系统的架构,来增加服务器的吞吐量和处理能力,以及承载能力。
  3. 服务器集群
    1. 用N台服务器构成一个松耦合的多处理器系统(对外来说,他们就是一个服务器),它们之间通过网络实现通信。让N台服务器之间相互协作,共同承载一个网站的请求压力。
    2. 在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
    3. 要考虑的问题是身份验证的问题。通过session复制、session共享、读取cookies等策略使得身份得以验证,也可以直接通过获取用户关键属性判断(不过对数据库压力大,容易成为瓶颈)
  4. 数据库优化
    1. 使用索引可快速访问数据库表中的特定信息。
    2. 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,很有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。
    3. 基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。
    4. 数据库读写分离
    5. 数据库分表技术(垂直分割,水平分割)
    6. 表建立相应的索引
  5. 页面静态化
    1. 前台实现完全的静态化最好,可以完全不用访问数据库。
  6. 缓存技术(MemCache、Redis)
    1. 将动态数据存储到缓存文件中,动态网页直接调用 这些文件,而不必再访问数据库
    2. Redis稳定持久化,MemCache批量读取快,但备份差。
  7. 禁止外部盗链
    1. 外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链
  8. 控制大文件的下载
    1. 大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗 CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。

文章转自:https://blog.csdn.net/jockersfor10/article/details/70145580

Java高级架构 ∣干货|学习

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高级架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档