Ddosify 作为压测工具的使用指南

news2024/11/15 16:37:36

文章目录

    • 1. 写在最前面
      • 1.1 Kubernetes 监控
      • 1.2 Performance Testing
    • 2. 命令行安装 & 使用
      • 2.1 安装
      • 2.2 使用
        • 2.2.1 默认的例子
        • 2.2.2 定制的例子
    • 3. Dashboard 安装 & 使用
      • 3.1 安装
      • 3.2 使用
        • 3.2.1 简单使用
        • 3.2.3 依赖的服务介绍
    • 4. 碎碎念
    • 5. 参考资料

1. 写在最前面

由于不同供应商的机房机器的水平参差不齐,而我司负责的服务就需要在不稳定的机器上为我们的客户提供一个高质量的服务水平。不出意外,能够保障这种水平的方式只有一个,那就是压测,即 1:1 客户的用量来模拟一次客户的请求,保障压测期间质量是可靠的。(ps:写到这里明白了,为什么打仗之前都要演练一遍了

注:不要问,为什么不同供应商的机器水平差这么多,因为有的供应商会超卖!

那就让我们通过压测这个引子,引入今天的主角「Ddosify」,请注意这个工具是可以用来作为压测,但是人家不是只能用来压测,它的定位是「做 Kubernetes 的监控和性能测试」

1.1 Kubernetes 监控

  • Automatic Serivice Map Creation:Ddosify 会自动创建机器的服务映射,无需代码检测或 sidecar。这样可以轻松的找到系统中的瓶颈。

  • Performance Insight:它可以帮助发现服务响应时间过长或 SQL 查询速度慢等问题。

  • Real-Time Metrics:Ddosify 可以跟踪并显示有关集群实例 CPU 、内存、磁盘和网络使用情况的实时数据

  • Ease of Use:得益于 eBPF 技术,你可以无需更改代码、重新启动服务或添加额外的组件(如 sidecar)即可获得这些分析。

  • Alerts for Anomailes: 如果 k8s 集群中发生异常情况,例如 CPU 使用率突然增加,Ddosify 会立即向 Slack 发送警报

注:介绍 k8s 监控上的使用是防止见到 Ddosify 这个工具,大家只知道它可以做压测

1.2 Performance Testing

  • Multi-Location Based:生成来自全球 25 个国家/地区的负载/性能测试。它可以在 Ddosify 云上使用。

  • Easy Scenario Builder:无需编写任何代码既可以轻松创建测试场景。

  • Seamless Integration with Kubernetes Monitoring:性能测试与 k8s 监控原生集成,以获得统一的体验。

  • Postman Integraion:直接从 Postman 导入测试,方便那些已经使用 Postman 进行 API 开发和测试的人。

2. 命令行安装 & 使用

2.1 安装

笔者使用的 mac ,所以使用的是 brew install ddosify/tap/ddosify ,不过 Ddosify 也支持 curl 等其他方式安装。

curl -sSfL https://raw.githubusercontent.com/ddosify/ddosify/master/scripts/install.sh | sh

go install -v go.ddosify.com/ddosify@latest

2.2 使用

2.2.1 默认的例子

$> ddosify -t 'https://www.baidu.com',表示以 GET method 压测 `https://www.baidu.com’ 域名,请求 100 次,持续 10s。

注:-t :表示压测的目标 URL

测试效果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注:不得不说,这个命令行工具在压测结果的展示上还挺友好

2.2.2 定制的例子

$> ddosify -t "https://www.badu.com" -d 15 -n 1000 -m POST 表示以 POST method 压测 `https://www.badu.com’ 这个不存在的域名,请求 1000 次,持续 15s。

在这里插入图片描述

注:除了以上的命令行之外, ddosify 还支持通过 -a 指定 basic auth,-T 指定超时,-h 指定 header

3. Dashboard 安装 & 使用

Ddosify 除了支持命令行之外,还有更完善的 Dashboard 支持。以下介绍如何在单机部署 Ddosify Dashboard 的过程。

3.1 安装

  • Clone the repository

    git clone https://github.com/ddosify/ddosify.git
    cd ddosify/selfhosted
    
  • Deploy the services

    docker-compose up -d
    
  • Access the dashboard

    The dashboard is available at http://localhost:8014

  • Show the logs

    docker-compose logs
    

3.2 使用

3.2.1 简单使用

同样以压测 https://www.baidu.com 为例

  • 创建一个 test

    在这里插入图片描述

  • 运行一个 test

    在这里插入图片描述

  • 可视化的分析测试结果

    在这里插入图片描述

3.2.3 依赖的服务介绍
ServiceDescription
HammerThe engine responsible for executing load tests. You can add multiple hammers to scale your load testing capabilities.
Hammer ManagerManages the engines (Hammers) involved in load testing.
BackendHandles load test management and stores results.
InfluxDBDatabase that stores metrics collected during testing.
PostgresDatabase that preserves load test results.
RabbitMQMessage broker enabling communication between Hammer Manager and Hammers.
SeaweedFS Object StorageObject storage for multipart files and test data (CSV) used in load tests.
NginxReverse proxy for backend and frontend services.
PrometheusCollects the Kubernetes Monitoring metrics from the Backend service.

4. 碎碎念

是在一月尾巴把这个月学习的小目标完成的一天,完结撒花

  • 要感激生命中那些包容你,对你好的人,因为他们本可以不那么做

  • 新的一年要开开心心顺顺利利,祝我们前程似锦未来可期,在顶峰相见吧

  • 因为她争强好胜、得意洋洋、不服输、性格倔强、自我意识过强、很少奉献牺牲,却能让他人为自己所用,但很不巧,我们的文化有一部分,就是喜欢打压和攻击别人的得意。除此之外她又有棱角、有心机甚至有点腹黑,不完美、不是天使圣母、不符合世人对传统女性的刻板印象

5. 参考资料

  • GitHub - ddosify/ddosify: Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud

  • 2023年十款开源测试开发工具推荐(自动化、性能、造数据、流量复制)

  • 抢在客户之前在Kubernetes上发现SQL慢查询

  • 安装和使用都很简单的压力测试工具

  • Performance Testing - Ddosify Documentation

  • https://github.com/ddosify/ddosify/tree/master/selfhosted

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1408250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【单例模式】保证线程安全实现单例模式

📄前言:本文是对经典设计模式之一——单例模式的介绍并讨论单例模式的具体实现方法。 文章目录 一. 什么是单例模式二. 实现单例模式1. 饿汉式2. 懒汉式2.1 懒汉式实现单例模式的优化(一)2.2 懒汉式实现单例模式的优化&#xff08…

EI论文复现:考虑冷热运行特性的综合能源系统多时间尺度优化调度程序代码!

适用平台/参考文献:MatlabYalmipCplex; 参考文献:电力系统自动化《含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度》 提出考虑冷热特性的综合能源系统多时间尺度优化调度模型,日前计划中通过多场景描述可再生能源的不确定性…

表白墙网站PHP源码,支持封装成APP

源码介绍 PHP表白墙网站源码,适用于校园内或校区间使用,同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装,只需PHP版本5.6以上即可。 通过上传程序进行安装,并设置账号密码,登录后台后切换模板,适配…

牛客30道题解析精修版

1.异常处理 都是Throwable的子类: ① Exception(异常):是程序本身可以处理的异常。 ② Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要…

《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第3章 k邻近邻法

文章目录 第3章 k邻近邻法3.1 k近邻算法3.2 k近邻模型3.2.1 模型3.2.2 距离度量3.2.3 k值的选择3.2.4 分类决策规则 3.3 k近邻法的实现:kd树3.3.1 构造kd树3.3.2 搜索kd树 算法实现课本例3.1iris数据集scikit-learn实例kd树:构造平衡kd树算法例3.2 《统计学习方法&a…

把Windows系统装进U盘,到哪都有属于你自己的电脑系统

前言 自从接触到WinPE启动盘之后,小白就突然萌生了一个想法:为啥不能把完整的Windows放进U盘呢? 实际上Windows是可以安装进U盘的,外出的时候带上,只需要有台正常开机的电脑就可以使用属于自己的系统。 这个是早已经…

一分钟教你搭建《幻兽帕鲁》服务器

幻兽帕鲁是一款由Pocketpair开发的开放世界生存游戏,融合了多种玩法的游戏,其独特的题材和画风吸引了很多玩家,越来越多的玩家开始尝试自己搭建服务器,享受更加自由的游戏体验。本文将为大家详细介绍如何从零开始搭建《幻兽帕鲁》…

「 网络安全常用术语解读 」杀链Kill Chain详解

1. 简介 早在2009年,Lockheed Martin公司就提出了杀链(Kill Chain)理论,现在也称之为攻击者杀链(Attacker Kill Chain)。杀链其实就是攻击者进行网络攻击时所采取的步骤。杀链模型包括7个步骤:1侦察 -> 2武器化 -> 3交付 -> 4利用 …

java程序判等问题

注意 equals 和 的区别 对基本类型,比如 int、long,进行判等,只能使用 ,比较的是直接值。因为基本类型的值就是其数值。对引用类型,比如 Integer、Long 和 String,进行判等,需要使用 equals 进…

【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解

前言:本文进行布线铺铜实战及详解布线铺铜的细节 在本专栏中【立创EDA-PCB设计基础】前面完成了布线铺铜前的设计规则的设置,接下来进行布线 布局原则是模块化布局(优先布局好确定位置的器件,例如排针、接口、主控芯片&#xff…

Sulfo Cy3 hydrazide,磺化-Cy3-酰肼,可用于与生物分子的羰基衍生物偶联

您好,欢迎来到新研之家 文章关键词:Sulfo-Cyanine3-hydrazide,Sulfo Cy3 hydrazide,Sulfo Cyanine3 HZ,磺化 Cy3 酰肼,磺化-Cy3-酰肼 一、基本信息 产品简介:Sulfo-Cyanine3-hydrazide能够与…

远程连接银河麒麟

目录 一、防火墙服务 二、安装SSH服务 1.验证SSH服务是否安装 2.安装SSH服务 三、启动SSH服务 四、远程连接 1.切换登录用户 2.查看IP地址 3.FinalShell连接 4.切换root用户 前言: 本篇主要讲述在Win10系统中通过FinalShell远程连接银河麒麟桌面操作系统V10 一、防火…

android studio从空白开始

对我来说,真正的第一步是清理电脑C盘。从剩余8G清理到25G,把原来看不顺眼又不敢删的文件夹和软件全删了,删爽了的后果就是,用两天的时间在把一些环境配置慢慢装回来,node.js,jdk,npm。努力把它们…

零基础学习【Mybatis Plus】这一篇就够了

学习目录 1. 快速入门1-1. 常用注解总结 1-2. 常用配置 2. 核心功能3. 扩展功能4. 插件功能 1. 快速入门 1-1. 常用注解 MybatisPlus中比较常用的几个注解如下: TableName: 用来指定表名Tableld: 用来指定表中的主键字段信息TableField: 用来指定表中的普通字段信…

Excel·VBA时间范围筛选及批量删除整行

看到一个帖子《excel吧-筛选开始时间,结束时间范围内的所有记录》,根据条件表中的开始时间和结束时间构成的时间范围,对数据表中的开始时间和结束时间范围内的数据进行筛选 目录 批量删除整行,整体删除批量删除整行,分…

[每日一题] 01.24 - 求三角形

求三角形 n int(input()) count1 (1 n) * n // 2 count2 n * n lis1 [str(i).zfill(2) for i in range(1,count1 1)] lis2 [str(i).zfill(2) for i in range(1,count2 1)]for i in range(0,len(lis2),n):print(.join(lis2[i:i n]))print()for i in range(1,n 1):tem…

Vue+Element(el-upload+el-form的使用)+springboot

目录 1、编写模板 2、发请求调接口 3、后端返回数据 1.编写实体类 2.Controller类 3、interface接口(Service层接口) 4.Service(接口实现) 5、interface接口(Mapper层接口) 6、xml 4、upload相关参…

微信小程序之全局配置-window和tabBar

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

抖捧AI实景自动直播怎么玩

​在如今的全民直播时代,直播已经成为了众多实体店、品牌方所刚需的技能,但是大多数都不具备太多的直播能力 ,这个时候实景自动直播就应运而生,但是很多人都没有想清楚,AI实景自动直播,到底适不适合自己用呢…

使用官方标定工具Dynamic Calibrator对RealSense D435i进行标定(二)

工具的安装教程可以看我的上一篇博文:Ubuntu 18.04安装Dynamic Calibration software for the Intel RealSense™ D400 Series Cameras(一) 使用教程参考user guide:https://www.intel.com/content/www/us/en/support/articles/0…