Gatling

前言

Gatling

Gatling是一款功能强大的负载测试工具,它为易于使用,高可维护性和高性能而设计。

开箱即用,Gatling由于对HTTP协议的出色支持,使其成为负载测试任何HTTP服务器的首选工具。由于核心引擎实际上是协议不可知的,因此完全可以实现对其他协议的支持。例如,Gatling目前还提供JMS支持。

代码自定义并且场景资源有效是Gatling的两个基础。并且拥有富有表现力的DSL,自我解释的场景,易于维护,可以保存在版本控制系统中的优点。

只要底层协议(如HTTP)可以以非阻塞方式实现,Gatling的体系结构就是异步的。这种架构允许我们将虚拟用户实现为消息而不是专用线程,这使得硬件要求不需要很苛刻。因此,运行数千个并发虚拟用户不是问题。

使用理由

  • 避免崩溃:Gatling可以帮助您预测缓慢的响应时间和奔溃。
  • 缩短产品上市时间:Gatling 在开发周期的早期检测到性能问题和错误
  • 增强用户体验:Gatling可以准确描述您最慢的用户体验
  • 提升您的业务:加特林可以防止您的业务成为自身成功的牺牲品

性能测试

性能测试是什么意思?

Web应用程序的性能测试包括:

  1. 模拟大量具有复杂行为的用户;
  2. 收集和汇总所有请求的响应时间;
  3. 创建报告分析数据;

性能测试

编写测试场景,自动化测试

Gatling的类似代码的脚本使您可以轻松维护测试场景,并在持续交付管道中轻松实现自动化。

我们开发了自己的领域特定语言(DSL),以便让每个人都能轻松阅读您的场景。

在这里插入图片描述

分析并调查您的应用程序的瓶颈

Gatling是一个功能强大的工具:只需几台计算机,您就可以 在Web应用程序上模拟每秒数十万个请求,并获得高精度指标

在测试结束时,Gatling会自动生成详尽,动态丰富多彩的报告

平均值和平均数据是不够的:使用Gatling,您可以得到适当响应时间百分位数不要让最慢的用户落后!
在这里插入图片描述

阅读全文 »

前言

Gatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标。目前仅支持http协议,可以用来测试web应用程序和RESTful服务。

除此之外它拥有以下特点:/home/james/IdeaProjects/note/source/_posts/Gatling简单测试SpringBoot工程/新建Gatling Maven工程.png

  • 支持Akka Actors 和 Async IO,从而能达到很高的性能
  • 支持实时生成Html动态轻量报表,从而使报表更易阅读和进行数据分析
  • 支持DSL脚本,从而使测试脚本更易开发与维护
  • 支持录制并生成测试脚本,从而可以方便的生成测试脚本
  • 支持导入HAR(Http Archive)并生成测试脚本
  • 支持Maven,Eclipse,IntelliJ等,以便于开发
  • 支持Jenkins,以便于进行持续集成
  • 支持插件,从而可以扩展其功能,比如可以扩展对其他协议的支持
  • 开源免费
阅读全文 »

Protobuf

前言

Protocol Buffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据 - 对比XML,但更小,更快,更简单。您可以定义数据的结构化,然后可以使用特殊生成的源代码轻松地在各种数据流中使用各种语言编写和读取结构化数据。

阅读全文 »

img

前言

Netty是 一个异步事件驱动的网络应用程序框架, 用于快速开发可维护的高性能协议服务器和客户端。

etty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器等网络编程。

“快速简便”并不意味着最终的应用程序会受到可维护性或性能问题的影响。Netty经过精心设计,具有丰富的协议,如FTP,SMTP,HTTP以及各种二进制和基于文本的传统协议。因此,Netty成功地找到了一种在不妥协的情况下实现易于开发,性能,稳定性和灵活性的方法。

特征

设计

  • 适用于各种传输类型的统一API - 阻塞和非阻塞套接字
  • 基于灵活且可扩展的事件模型,可以清晰地分离关注点
  • 高度可定制的线程模型 - 单线程,一个或多个线程池,如SEDA
  • 真正的无连接数据报套接字支持(自3.1起)

使用方便

  • 详细记录的Javadoc,用户指南和示例
  • 没有其他依赖项,JDK 5(Netty 3.x)或6(Netty 4.x)就足够了
  • 注意:某些组件(如HTTP / 2)可能有更多要求。 有关更多信息,请参阅 “要求”页面

性能

  • 吞吐量更高,延迟更低
  • 减少资源消耗
  • 最小化不必要的内存复制

安全

  • 完整的SSL / TLS和StartTLS支持

社区

  • 早发布,经常发布
  • 自2003年以来,作者一直在编写类似的框架,他仍然觉得你的反馈很珍贵!

img

参考链接: https://netty.io/

阅读全文 »

SaaS_banner

前言

SaaS模式是什么?

传统的软件模式是在开发出软件产品后,需要去客户现场进行实施,通常部署在局域网,这样开发、部署及维护的成本都是比较高的。

现在随着云服务技术的蓬勃发展,就出现了SaaS模式。

所谓SaaS模式即是把产品部署在云服务器上,从前的客户变成了“租户”,我们按照功能和租用时间对租户进行收费。

这样的好处是,用户可以按自己的需求来购买功能和时间,同时自己不需要维护服务器,而我们作为SaaS提供商也免去了跑到客户现场实施的麻烦,运维的风险则主要由IaaS提供商来承担。

SaaS

阅读全文 »