不喜欢节流吗?

您别无选择–基础系统(此处的JVM将为您完成此选择)。

我仍然记得2013年夏天,当时我正在运行一个项目,整个应用程序中只有1个URL使服务器瘫痪。 问题很简单-机器人决定以很高的速率索引我们的网站,并且该机器人正在创建数百万个URL组合,这些组合绕过了我所有的缓存层,并且都击中了我的应用程序服务器。 好吧,我们在应用程序中的缓存率非常高(大约95%),并且应用程序服务器层并不是为高负载而设计的(这是Adobe AEM 5.6,执行搜索和制作页面的逻辑在计算上非常繁琐)。 那年早些时候,我们想处理Dog-Pile效应的案例,并且我们谈到要进行某种限制。 在对话开始时,每个人都对节制相同的想法不满意(2个人除外)。

在2012年秋天, Ravi Pal建议采取适当的错误处理措施,使系统不仅应该掉在头上,而且应优雅地降级。 当我们在2013年遇到这个问题时,我才意识到他建议的严重性。

现在,我正在另一个平台上工作,当我提出节流的想法时,它又一次被皱了皱眉。 一个人在一次会议上实际上嘲笑我。 另一个人建议我们要通过“自动缩放”处理场景,而不是限制场景。 我们在AWS Cloud上拥有基础架构,但我不是专家,但是专家告诉我,服务器可以在大约10分钟内原样复制(我们将 证明 对此进行基准测试)。

我是一位雄心勃勃的建筑师,尽管我控制了进入我网站的流量。 我不再生活在那种幻想中。

这可能是一系列的帖子,但是今天在这里我开始向您展示您没有选择的余地,无论您是否喜欢它,系统都会为您限制流量。

基准概述

  • 使用Spring Boot构建的简单Web应用程序
  • 一个Spring MVC REST控制器 ,它将接受一些HTTP请求并在诱发的延迟后发送回OK响应
  • jMeter模拟负载
  • 一个自定义插件 (向这些家伙大喊大叫的插件)可生成逐步加载并捕获自定义增强图
  • 托管网站的Tomcat 8.x –使用Spring Boot在内存中启动。 未完成自定义

第一组–好人

测试计划

该线程组将模拟对我们的应用程序服务器的一致请求流。 一个典型的情况经常发生。

节流线程组的好人

服务器性能

如预期的那样? 是。

如下图所示,该图表显示应用程序服务器的行为正常。 15分钟内的所有请求都与“单用户模型”(也就是1秒请求响应时间)一致。

节流好一个tps方案1

第二组-突发的高流量

测试计划

该测试计划是一种分步实施的方法,它试图模拟一种情况,即广告活动将在短时间内开始到达某个页面(或一组页面)。 在我们的网站向全世界开放的行业中,我们经常看到这种用例。

这个线程组不是OOTB,我下载了一个插件

限制高流量的一个测试计划

服务器性能

那么,我们期望发生什么呢? 根据我的服务器有多少果汁(线程,cpu循环等),我的服务器可能会或可能无法处理请求。 鉴于我正在本地笔记本电脑上运行所有程序,如果我的本地机器可以处理600个线程,那将很有趣。

节流高流量一个TPS场景1

而且我们发现我的笔记本电脑无法真正处理600线程。 那么,tomcat是做什么的呢?

它节流

好人变化的表现

测试计划

我运行第一个测试计划,并遵循高流量计划(引入30秒的延迟)。

影响力

下图显示了好人如何受到影响。 尽管The Good One的访问量没有变化,但仍然受到影响,因为其他因素导致了峰值。

请告诉JVM您不喜欢节流

节流好一个tps方案2

下一个是什么

您实际上有3个选择(我们将在单独的文章中详细介绍以下各项)

  1. 自动缩放应用程序服务器,并希望新服务器能及时准备就绪以处理负载,或者
  2. 在节流和控制自己的命运方面做些什么 - 如果 高流量不是好收入来源,好人却是收入来源呢?
  3. 继续皱着眉头

翻译自: https://www.javacodegeeks.com/2015/08/dont-like-throttling.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OData V4 系列 查询操作

OData 学习目录 对OData的操作,主要是查询,下面把相关的查询情况列出来,供参考学习,每个操作都有对应的截图,便于理解 默认查询 $expand 查询导航属性关系 ,查询Product相关的Supplier $top、$skip、$orde…

JSP项目打开不通的查看详情页动画是放大状态的解决办法

背景:前段时间做了一个详情页在当前页面的放大缩小的动画效果,——>我是如何用Jquery实现网页缩小放大的 今天测试反馈:详情页是缩小状态,点击关闭后打开其他的查看详情页页面,还是默认的缩小状态,需要做成,每次打开默认是放大的效果。 截图: 这个系统比较老,boots…

gorm 密码字段隐藏_KeeWeb for mac(密码管理工具)

KeeWeb是一个非常专业的密码管理工具。这款工具支持Mac OS X,Windows和Linux平台,不需要任何安装和工作在所有现代浏览器,搜索任何条目或查看所有文件中的所有项目作为一个列表。功能非常强大实用。本站现在提供KeeWeb Mac版下载,…

Centos7下按装Docker和docker-compose及环境配置

删除之前安装的 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engineyum remove docker-ce docker-ce-selinux container-selin…

你也在你的应用上添加B站上的弹幕效果

背景:现在弹幕已成为各大视频网站的标配,其实,弹幕最早是诞生于日本的一个二次元网站Niconico。后来A站和B站将其引入,开启了国内弹幕文化的先河。 开源地址:https://github.com/zerosoul/rc-bullets 相比点赞、转发、评论,弹幕的形式让用户的互动性更强,因此也更受大家…

google earth pro 64位_七彩虹秀精准刀工!iGame RTX 3060 Ti Advanced OC评测:烤机3小时64度...

一、前言:精准控制散热 七彩虹展现神奇刀法这次没有让大家等太久,在RTX 3080上市仅仅2个月之后,RTX 3060 Ti也终于来到了大家面前。这也是安培构架第一款售价在3000元以下的甜点产品。七彩虹公司也同步发售了5款iGame RTX 3060 Ti系列显卡&am…

流性能

当我阅读Angelika Langer的Java性能教程时-Java 8流有多快? 我简直不敢相信,对于一个特定的操作,它们花费的时间比循环要长15倍。 流媒体性能真的会那么糟糕吗? 我必须找出答案! 巧合的是,我最近观看了一个…

Redis-cluster集群【第一篇】:redis安装及redis数据类型

Redis介绍: 一、介绍redis 是一个开源的、使用C语言编写的、支持网络交互的、可以基于内存也可以持久化的Key-Value数据库。redis的源码非常简单,只要有时间看看谭浩强的C语言,在去看redis的源码能看懂50-60%。redis目前最大的集群应该是新浪…

ad10怎么挖铺的铜_黄金怎么验真假,简单易行方法多。

在当今社会,随着人们生活水平的提高,大家越来越追求生活的质量。也就形成了我们在生活中想通过各种细节丰富我们的生活,提升我们的生活情趣。导致我们对物质的追求也上了一个台阶,相比之下黄金市场的需求也大大增加。而我们大家的…

CMD启动mysql服务“发生系统错误 5”的解决办法

背景:cmd进入,启动mysql报:发生系统错误 5 问题: 解决办法: 找到cmd.exe的位置,不好找请使用以下命令。 找到文件,右键以管理员身份运行即可。

roads 构筑极致用户体验_坚持用户思维 推动领克汽车逆势突围

【2020年7月9日,杭州】近日,全球新高端品牌—领克公布了2020年6月销量数据。领克汽车6月实现月销量达13214辆,环比增长约2%,同比增长约53%,连续三个月获得双增长,并创下过去七个月以来最高月销量表现。2020…

微信小程序【WXSS 文件编译错误】unexpected “?“at pos 1的解决办法。

问题: 解决办法: 在控制台输入 openVendor() ,清除里面的 wcsc wcsc.exe 然后重启工具。 如果涉及编码格式乱码的,请手动改为uft-8. 问题: 解决办法:

常见的一些威胁情报分析平台

在进行渗透过程中,也可以借助一些商用或者非商业平台来进行信息搜索及验证,主要针对邮箱、IP、域名、文件md5、apk文件等进行搜索,整理和完善线索信息。为了大家方便, 对目前公开的威胁情报平台进行搜集,在实际使用过…

CSDN博客专家申请的条件及规则

“博客专家”是CSDN给予质量较高、影响力较大的IT类博客的荣誉称号,代表了CSDN官方对其博客的肯定,同时博客专家也需要承担一定的社区责任。 申请规则:http://blog.csdn.net/experts/rule.html 申请地址:https://blog.csdn.net/experts/apply 申请条件: 注意事项: 专属福…

CVE-2022-22965:Spring Framework远程代码执行漏洞

CVE-2022-22965:Spring Framework远程代码执行漏洞 本文仅为验证漏洞,在本地环境测试验证,无其它目的 漏洞编号: CVE-2022-22965 漏洞说明: Spring framework 是Spring 里面的一个基础开源框架,其目的是…

CSS系列讲解-总目录

总目录: 欢迎来到孙叫兽的《CSS系列讲解》,蓝色字体为传送门,点击进入即可。本专栏已完结,大前端专栏支持更新。 玩转CSS系列: 什么是CSS?你真的理解? CSS页面DEMO CSS基本语法? 如何玩转CSS的Id 和 Class选择器? 怎么玩转CSS内部样式表与外部样式表? 怎么样才…

红队信息收集自动化工具-水泽(ShuiZe)

红队信息收集自动化工具-水泽(ShuiZe) 文章目录 红队信息收集自动化工具-水泽(ShuiZe)0x01 介绍0x02 安装0x03 效果展示0x04 POC编写0x05 使用方法0x06 实现原理Web -> 存活探测0x07 项目地址 0x01 介绍 定位:协助…

前端工程师应该达到什么水平,找工作薪资才比较高?

当然是水平越高,越容易找到工作,薪资越高在竞争这么激烈的2020年,就需要更加的努力,充实自己,让自己不被代替!两条路:自学或者找培训班,找培训班的话,我推荐达内和传智播…

【转】使用JMeter对数据库做压力测试

作为一名开发人员,大多情况下都会认真的做好功能测试,但是却常常忽略了软件开发之后的压力测试,尤其是在面向大量用户同时使用的Web应用系统的开发过程,压力测试往往是不够充分的。近期我在一个求职招聘型的网站项目中就对压力测试…

孙叫兽进阶之路之Gitlab的使用(图文教程)

简介: GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的…