web服务性能监控方案

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 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使用情况,找出链路的性能瓶颈。
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
3月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
69 9
|
5月前
|
安全 前端开发 API
【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?
【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?
|
3月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
197 69
|
1月前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
|
2月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
67 3
|
2月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
39 1
|
2月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
3月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
90 12
|
3月前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
56 1
|
3月前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解