web服务性能监控方案

简介: web服务性能监控方案

一、本地测试工具的使用

优点:

  1. 一次触发多次请求,且每个参数可动态变化,有利于弥补接口单个单元测试场景覆盖不足的问题
  2. 可以完成对接口性能的好怀定性检验,对接口性能测试作初步删选。
  3. 开发人员共同一个开发环境数据库,便于大家对所有微服务接口测试情况有一个直观全面的了解

缺陷:

  1. 本地机器性能各异,且无法控制并发线程数。导致接口测试的响应时间结果有较大波动,对接口性能好坏的程度做量化分析的结果数据并不可靠。
  2. 无法做接口的顺序链路调用测试一个模块的接口整体性能。
  3. 当接口入参依赖上一个接口的结果时,要想通过正则表达式保证一个期望的接口命中率,较为麻烦。
  4. 无法测出接口通过网关后的实际运行情况。

结论:

     本地测试工具只适用于在接口开发接口,本地完成接口单元测试及初步的性能测试,想要完成接口性能的定量分析及接口调用的全链路分析,还得依赖其他工具。

二、 开发环境接口性能测试及监控

      由于本地环境不稳定以及本地接口测试工具的短板存在,所以需要一个稳定的环境来部署其他工具弥补,这个环境最好是开发环境。

请求发送及监控工具jmeter

  开发环境的请求发送工具使用jmeter,它正好可以弥补本地测试工具的不足,如:

  1. 可以生成对一个接口发送持续且稳定的并发数,测出接口TPS在稳定状态的值。
  2. 可以做到接口的顺序链路调用,测试整个模块的TPS值。
  3. 可以根据文件获取请求参数,提高接口的命中率。

请求链路分析工具skywalking

  在请求过程中,如果发现某个接口TQS上不去,可用skywalking分析各个环节耗时。

Prometheus+Grafana监控性能指标

Jmeter监控

    可以清楚的看到Jmeter的请求总次数、失败次数、TPS在接口调试过程中的变化趋势等信息

web应用监控

    主要监控jvm使用情况和垃圾回收情况  

Mysql监控

   监控mysql的连接数、QPS、慢查询等情况

Redis监控

     主要监控redis内存、网络IO、各个数据库的key值使用情况。

web应用性能分析工具Arthas

  Prometheus+Grafana可以对web监控到jvm的使用情况和GC情况,但要分析具体原因还得借助Arthas。

 如根据cpu使用情况分析线程状态

三、 接口测试步骤总结

本地测试:

通过本地接口测试工具完成单元测试,以及对性能测试的初步删选,如果接口测试结果无法达到查询300次/s,增删改100次/s,则上开发环境调试。

开发环境调试:

  1. 在开发环境部署jmeter、skywalking、Prometheus、Grafana等监控工具并配置相关监控参数。
  2. 使用jmeter对需要上开发环境调试的接口做并发请求,观察各个中间件及web服务的cpu使用情况,找出链路的性能瓶颈。
相关文章
|
6月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
724 116
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
384 9
|
10月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
10月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
12月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
626 35
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
835 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
454 69
|
运维 网络安全 文件存储
找不到类似 Docker Desktop 的 Web 管理界面?试试这些开源方案
Docker Desktop 是本地容器化开发的利器,但存在无法通过 Web 远程管理、跨平台体验不一致等问题。为此,推荐几款轻量级、可 Web 化管理的 Docker 工具:Portainer 功能全面,适合企业级运维;CasaOS 集成应用商店和 NAS 功能,适合家庭/个人开发环境;Websoft9 提供预集成环境,新手友好。这些工具能有效提升容器管理效率,满足不同场景需求。
998 3
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
984 7
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
367 12

热门文章

最新文章