专栏首页云原生压测团队【项目实战-1】NAT网关的最佳实践
原创

【项目实战-1】NAT网关的最佳实践

【问题表现】

项目某后台接口QPS出现周期性的掉坑现象。每一次耗时的峰值,都对应一次QPS掉坑。

【问题分析和排查思路】

从波形图来看一定是资源耗尽,才会出现周期性的掉坑现象。分析问题之前,首先要拿到整个链路,如下:

压测机(运行Jmeter脚本)--> NAT网关 --> STGW --> nginx --> 项目后台

这里每个环节都可能出问题,需要每个链路去排查。

1.首先查看业务后台的资源占用

CPU、内存都不高,函数耗时也不长。看来压测流量还没打到业务后台,需要继续往前找原因。

下面是 23:41 ~ 23 :50之间,场景getlist压测时候的rpc 耗时,平均耗时都在 50ms以下 。

2.分析nginx的日志,看看是否有压测流量

外层nginx的access日志,23:41~23:44之间访问量为0。这个现象和压测工具界面上看的QPS表现一致,说明压测流量没有过来。

3.查看NAT网关,看是否有带宽限制

NAT网关出带宽为5000 Mbps,实际使用不到20 Mbps,排除。

4.查看压测机的资源占用

查看压测机的CPU,内存和网络情况,也没有发现啥异常情况。

业务方的压测同学提供了如下的信息:

掉坑的地方会出现connection timeout,该接口耗时高达31秒

拉了NAT网关的同学一起来排查问题,发现确实是EIP不够用的问题。

给NAT绑定了10个EIP,问题得以解决

【总结】

通过NAT网关配置出口IP往往一开始只配置一个IP,端口数的上限是65535。对于实时通讯的场景来说,需要保持大量的长连接,所以需要提高端口数量。

整体排查思路如下:

  1. 首先要转变意识,不要停留在单点排查,要有全链路的意识
  2. 每个环节进行初步排查,看能否快速定位问题
  3. 实在没有办法,就只能抓包分析了

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【项目实战-8】waf压测最佳实践

    压测机(运行Jmeter脚本)--> WAF --> CLB --> Node集群(Web)

    Nanako
  • Go 项目最佳实践

    Go应用程序应遵循的结构是一个有争议的主题。有些人坚持认为,每个人都应该对每个项目都遵循众所周知的golang-standards / project-layo...

    陌无崖
  • 物联网项目六个最佳实践

    很多公司都在投资物联网(IoT),但很少有人觉得自己完全做好了准备。人们担心物联网的安全性、与其他技术的集成以及将物联网扩展到更广泛应用的能力。一些公司还质疑他...

    用户4122690
  • vue项目部署的最佳实践

    这两个问题可以从很多方面进行优化,今天我就从前端页面部署阶段来优化一下这两个问题。PS:以下内容都基于vue-cli3+。

    winty
  • swagger 在 egg 项目中的最佳实践

    swagger 是一个 RESTful 接口的基于 YAML、JSON 语言的文档和代码在线自动生成工具,它让部署管理 API 变得前所未有的简单。swagge...

    CS逍遥剑仙
  • 【必看】社区文章目录

    Nanako
  • 「安全战略」2019年最新最实用的12项最佳网络安全实践

    这并不夸张:任何公司都可能成为网络犯罪的受害者。有关网络攻击的报告来自政府机构、教育和医疗机构、银行、律师事务所、非营利组织和许多其他组织。

    首席架构师智库
  • 新建NodeJS Web项目的几个最佳实践

    在项目建立初期引入一些最佳实践可以避免后期大量复杂的重构工作,本文总结了在使用Node JS构建Web服务时的一些最佳实践,同时涉及的具体的操作步骤。

    极客人
  • 多云战略的最佳实践

    企业推行多云策略可带来各种好处。而采用公共云或混合云的很多企业寻求采用多云策略来避免供应商锁定。还有一些企业希望降低云计算成本,或者希望在人工智能、无服务器计算...

    静一
  • Github 项目推荐 | TensorFlow 项目模板架构最佳实践

    一个简单且设计良好的架构对于任何深度学习项目来讲非常有必要,这里的 Tensorflow 项目模板经过了大量的实践,拥有简单性、良好的文件结构以及 OOP 设计...

    AI研习社
  • 基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

    对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Le...

    杨振涛
  • 公有云产品NAT&EIP最佳实践指南

    NAT 网关(NAT Gateway 简称NAT)是一种支持 IP 地址转换服务,提供 SNAT 和 DNAT 能力,为私有网络(VPC)内的资源提供安全、高性...

    张兴龙-leoxzhang
  • Saltstack_实战指南01_系统规划

    之前《Saltstack_使用指南》详细讲解了saltstack的使用。那么从这节开始实战讲解,当然不会再像之前那样详细说明了。只是讲一些系统规划之类的信息。

    踏歌行
  • SAP最佳业务实践:ETO–项目装配(240)-1业务概览

    用途 此业务情景介绍标准按订单设计 (ETO) 环境中的订单处理。 在此业务情景中,SAP 项目系统用于控制整个流程,从 SD 需求到计划、采购、生产和...

    SAP最佳业务实践
  • Kafka 的 20 项最佳优化实践

    本文整理于网络翻译,英文原文:https://blog.newrelic.com/engineering/kafka-best-practices/

    大数据技术架构
  • 服务网格的最佳实践

    微服务发展的这几年,新的技术和概念层出不穷,这些技术的引入本质上都是在围绕服务稳定性和业务开发效率提升,最近两年服务网格越来越被广大的微服务用户所认知。

    DevOps时代
  • Github 开源项目贡献指南:项目维护者的最佳实践

    维护一个项目需要的不仅仅是写代码的能力。有些时候会有一个你意想不到的的事情要应付,但是这对一个项目的成长也很重要(相对于代码来说),我们收集了一些小技巧来让你的...

    腾讯开源
  • ABAP system landscape和vue项目webpack构建的最佳实践

    基于Netweaver的ABAP transport route一般都有dev,test和prod三种类型的系统。

    Jerry Wang
  • ABAP system landscape和vue项目webpack构建的最佳实践

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券