首页 > 其他分享 >后端服务之应用预热

后端服务之应用预热

时间:2023-09-25 15:11:53浏览次数:27  
标签:JSF 预热 服务 TP999 重启 升级 应用

一 背景

C端服务应用升级和重启,导致耗时瞬时抖动,业务超时,应用监控报警,上游感知明显,导致用户体验变差。

二 应用升级重启导致抖动的原因

1 C端服务应用升级和重启的冷启动阶段,它需要重新加载和初始化各种资源,例如数据库连接、缓存数据等,导致耗时瞬时飙升。

2 应用重启后,本地缓存失效,应用需要重新加载数据,导致耗时变长。

3 应用重启后,有大量请求堆积,导致系统负载增加,线程处理不及时,导致系统响应变慢。

三 解决方案

1 停服时,先下线JSF接口,再升级应用,待应用启动成功后,JSF服务接口延迟注册到注册中心。

2 JSF开启预热功能,是服务提供者重启后,JSF上线后,消费者与服务者建立链接后,调用方客户端先放设置比例的小部分流量过来到升级重启的实例,在预热周期内,逐步到100%

3 在应用升级流程编排中,结合流量回放,编排流程,在流量回放后再操作JSF上线,实现略复杂,依赖基础运维

方案1,方案2实现简单,预热效果也比较好,使用的是JSF的预热功能,以下效果对比的实现来自方案2的JSF预热功能。

四 采用JSF开启预热功能效果对比

1 服务提供者配置预热周期

预热初始权重:consumer连接到provider后,provider的初始权重(provider端权重会在预热周期内会逐渐恢复到正常权重,一般是100)

2 未开启预热容器实例整体升级重启监控:

应用部署在3个机房,所以看到3次抖动,可以看到TP999最高的机房达到了近25s。

开启预热后整体实例升级重启效果:

应用部署在3个机房,所以看到3次抖动,可以看到TP999最高的机房降到了2.5s,降幅达10倍。

3 未开启预热,单实例应用重启监控

max达到了20s,TP999到达了18s

开启预热后,单实例应用重启监控

max降到了2s,TP999将到了1.5s左右,降幅达10倍,TPS在配置的预热周期内(60s)呈现线性增长

五 注意事项

依赖服务调用方升级JSF到1.7.6版本及以上,推动所有调用方升级JSF

可根据应用的启动时间和特性,调整应用匹配的预热周期,达到相对预热效果最好的状态。至于是否有必要结合流量回放和流程编排实现预热,需结合自己的业务情况和实现成本考虑。

作者:京东科技 张石磊

来源:京东云开发者社区 转载请注明来源

标签:JSF,预热,服务,TP999,重启,升级,应用
From: https://www.cnblogs.com/jingdongkeji/p/17727963.html

相关文章

  • 服务器主机:复杂理论的视角与SEO策略
    本文分享自天翼云开发者社区《服务器主机:复杂理论的视角与SEO策略》,作者:不知不觉在数字世界的演变中,服务器主机在信息存储和数据处理方面发挥着核心作用。本文将带你重新认识服务器主机的价值,并通过复杂理论解释其重要性和必要性,同时结合SEO关键字布局来指导你如何优化内容。......
  • 迅为RK3588核心板在工业机器人控制产品中的应用方案
     迅为RK3588核心板在工业机器人控制产品中可以发挥重要作用,为工业自动化和机器人控制提供高性能的计算和多媒体处理能力。以下是RK3588核心板在工业机器人控制产品中的应用方案:   运动控制:RK3588核心板可以用于控制工业机器人的运动,包括关节控制、轨迹规划和速度控制。......
  • 筑牢网络安全防线,天翼云签署《云计算服务安全自律公约》!
    9月11日至17日,以“网络安全为人民,网络安全靠人民”为主题的2023年国家网络安全宣传周在全国范围内展开。15日,在云计算服务安全分论坛上,中国电信天翼云等8家头部云计算服务商联合发起了自律公约倡议,共同起草了《云计算服务安全自律公约》。天翼云科技有限公司副总经理、首席网络安......
  • vmware剪贴板共享不起作用的解决方法-银河麒麟V10服务器版
    安装了虚拟机自带的vmwaretools,还是不行试试这样:yuminstallopen-vm-toolsyuminstallopen-vm-tools-desktop或者:sudoapt-getautoremoveopen-vm-toolssudoapt-getinstallopen-vm-toolssudoapt-getinstallopen-vm-tools-desktop 结束后务必重启下......
  • default property alias xxx 应用
     ArchInterface.qmlControl{id:contentdefaultpropertyaliascontentChildren:content.data// 内部的元素, 由子模块去实现backgroud:Rectangle{color:"transparent"anchor.fill:parent}} 应用:AppModule.qml......
  • 学习服务卡片事件能力
    【本文正在参加2023「盲盒」+码有奖征文活动】,活动链接https://ost.51cto.com/posts/25284简要介绍ArkTS卡片内部和提供方应用间的交互,可以通过在卡片一端调用postCardAction来实现,当前支持router、message和call三种类型的事件。我们根据实际应用分别从五个方面简单学习一下......
  • EasyGBS视频云存储系统的功能、应用的特点和优势分析
    EasyGBS视频云存储系统的功能,该系统提供了一套完整的视频存储和管理解决方案,包括视频上传、下载、转码、剪辑、加密、存储和分发等功能。用户可以通过简单的操作界面轻松地将视频文件上传到云端,实现远程访问和共享。同时,系统还支持多种视频格式的转换和处理,以满足不同用户的需求。......
  • 如何在本地搭建微信小程序服务器
    现在开发需要购买服务器,价格还是有点贵的,可以花费小代价就可以搭建一个服务器,可以用来开发小程序,博客等。1.域名(备案过的)2.阿里云注册免费的https证书3.配置本地的nginx4.内网映射(本地安装wampserver服务器)一、域名注册花生壳,开通内网映射需要6元里面可以注册2个免费的域......
  • 火山引擎DataLeap推出两款大模型应用: 对话式检索与开发 打破代码语言屏障
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 自上世50年代,以“计算机”作为代表性象征的信息革命开始,社会对于先进生产力的认知便开始逐步更迭——从信息化(通常认为是把企业中的信息资源与信息技术有机结合,从而提高企业的管理水......
  • 17.云市场: 基于OpenStack的Murano模块,开发一个云市场,允许用户发现和部署云应用程序
    基于OpenStack的Murano模块,开发一个云市场可以让用户发现、选择和部署云应用程序。Murano是OpenStack的应用程序目录和部署引擎,它可以用于创建和管理云应用程序的目录、模板和部署。以下是一个简化的示例,演示如何使用Murano来构建这样一个云市场。注意:为了构建这个示例,你需要一个......