自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 自动化编译dpdk

所以理论上,cx6 dx网卡搭配ofed-5.4和dpdk19.11就可以了,但是实际上咨询过mlx官方人员,建议ofed-5.4搭配dpdk-20.11使用,可能是19.11有一些bug吧。dpdk-20.11编译方式跟之前的版本差别挺大的,20.11编译需要使用meson和ninja,meson需要python3.5以上的版本,3.7当然也可以,我准备使用python3.7,由于线上环境复杂,我想实现一个自动化脚本,可以从python3开始自动化编译dpdk,实现过程中遇到了很多坑,在这里记录一下。

2023-02-24 00:34:35 538

原创 使用dperf测试dpvs性能

是一个基于dpdk实现的高性能四层负载均衡,最近在学习怎么测试四层lb各种性能指标。用测试仪其实很容易测到以上指标,但是一是测试仪比较昂贵,二是需要直连测试仪到测试环境,没有这些条件,只能使用其他性能测试工具。目前比较常用且简单的测试工具有两个:pktgen和wrk。上述两个工具很简单好用,但也有一些不足,比如pktgen没法测试双向pps,要测试双向pps,需要在rs上部署高性能的udp_server;wrk性能不够,一般只能测试1核或者2核的dpvs性能。。。是一个基于dpdk的高性能网络压测工具。

2023-02-15 22:15:17 2767 1

原创 如何测试linux协议栈

工作中需要经常和协议栈打交道,有两种非常简单快速的方法可以对协议栈进行黑盒测试,帮助自己理解协议栈。

2023-02-07 23:23:27 511

原创 tcp option-sack

更准确的说法是s ack,而不是sack,因为全称是selective acknowledgment,翻译过来是选择性确认。tcp头部中的ack确认序列号大家应该都比较了解了,正常情况下确认序列号等于收到的对端报文的序列号+payload length,假如本端发送的确认序列号为x,则说明对端发送的到x为止的数据我都收到了,对端下一个数据包的序列号应也为x。sack包含两个tcp选项,都放在tcp option中。...

2022-08-14 17:27:03 1205

原创 压测方案设计

在公司内部听了一个压测分享,感觉干货挺多的,记录下学习笔记。不断向被测对象施加压力,测试系统在压力情况下的表现。压测环境可以简单的分为模块级压测和链路级压测,它们的主要特点和区别如下:压测要覆盖哪些场景?压测请求和数据如何构造?如何模拟业务流量形态?以上三个问题分别对应压测模型中的业务模型、数据模型和流量模型。基于线上数据改造的方式,方案很简单,数据构造快,但是强以来系统现有数据,,无法应对新增场景,模型调整不灵活,适用于老服务的线上压测;基于模型构造,不强依赖线上数据,可以人工构造新增场景,维护成本低,

2022-07-02 23:28:34 3173

原创 pytest如何通过使用命令行参数来skip用例

当我们想要skip一个pytest用例时,习惯去使用@pytest.mark.skipif,我有一个需求是要用命令行参数来跳过用例,我这样写:当我运行test.py时,发现用例并没有跳过,我猜测skipif是在用例收集阶段完成的,还没有进行命令行参数复制,所以Baseconfig.mode为空(默认值是空),所以我改了一下:这样用例果然跳过了,这也印证了我的猜想。在网上搜索之后发现有两种方法来解决这个问题:这是一个可以在用例收集阶段改变用例的钩子,我在conftest里这样写:items就是每一个用

2022-06-23 11:05:37 420 1

原创 全链路网络优化-学习笔记

公司内部的一次分享,记一下笔记。什么是全链路?一个简单的面试问题-浏览器输入网址后会发生什么?这是一个比较简单常见的问题,但是不同的人会有不同的答案,一个比较简单的答案就是:dns查询->tcp握手->tls握手->http请求实际上的网络拓扑会复杂点,大概如下图所示.........

2022-06-04 22:30:43 275

原创 获取客户端真实ip的方法

为什么需要获取客户端真实ipip地址是按地域分布的,服务器获取到客户端ip后可以做流量统计和分析,服务器也可以针对客户端ip做一些定制化的功能,比如限流和黑白名单。网络环境十分复杂,客户端发出的一个请求至少要经过cdn和负载均衡后才可以到达服务器。报文经过负载均衡的时候往往会做FNAT(lvs的一种转发模式,被普遍用于各种厂商的lb,该转发模式会对所有报文做源地址转换和目的地址转换),所以报文经过lb后,源地址就被删除了,这样服务器看到的源地址都是lb的地址,无法获取到客户端的真实ip了。.....

2022-05-28 21:48:21 3204 1

原创 https原理学习笔记

https是使用tls/ssl加密的http协议。http是明文传输,存在信息窃听、信息篡改和信息劫持的风险,而tls/ssl协议具有身份验证、完整性校验和信息加密的功能,所以可以避免这些问题。

2022-05-22 12:30:39 1713

原创 异常测试场景

最近在公司听了一场异常测试的培训,感觉不错,记下笔记。什么是异常测试?异常测试就是检测被测对象对异常情况(异常输入、异常操作、异常场景)的处理(能否正常处理,而不是出现错误)为什么要做异常测试?出现异常后,希望系统的表现符合我们的预期。异常测试可以保障系统的可靠性和稳定性。如果不做异常测试会发生什么:业务操作异常服务崩溃。。。异常场景分类业务操作异常(幂等、并发、回退、取消)指基于用户使用场景设计的异常,比如重复购买、重复支付(幂等);大批量用户同时并发购买;超时未支付;支付失败

2022-05-10 23:54:38 4383 2

原创 负载均衡常用调度算法介绍和选择

负载均衡常用算法介绍和选择

2022-03-20 19:02:41 2745

原创 iperf3乱序问题(OUT OF ORDER)

我们在进行打流测试时,习惯性的使用centos自带的yum源安装iperf3,默认安装的版本号是3.1.7(可以通过iperf3 -v查看)。在测试tcp流量的时候并不会有太大的问题,但是当我们进行大流量的udp测试时,会发现测试结果比预期要低很多,用其他工具比如iperf2测试时,测试结果就可以达到预期。说明问题出在iperf3上,查找资料发现时iperf3的一个已知bug:https://github.com/esnet/iperf/issues/457,该问题在新版本的iperf3上已经解决,由于该i

2022-03-17 23:43:13 8662

原创 什么是ddos攻击,怎么防御ddos攻击?

因为最近要测试antiddos的功能,所以简单了解了一下antiddos是什么什么是ddos攻击ddos全称是Distributed Denial of Service,翻译过来就是分布式拒绝服务。拒绝服务呢,就是用某种技术手段让被攻击的服务器资源耗尽,拒绝正常请求;分布式呢,可以理解成多台计算机联合起来作为一个攻击平台。ddos攻击方法攻击原理如上所述,ddos攻击的目的是为了让被攻击的服务器资源耗尽,服务器资源当然包括计算、网络、存储等,......

2022-03-15 23:51:15 16407 1

原创 tcp三次握手丢包后会发生什么

测试工具本片文章会用到以下工具来学习tcp三次握手:tcpdup,一个运行在用户态的应用程序,它本质上是通过调用 libpcap 库的各种 api 来实现数据包的抓取功能。数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump 工具进行后续的处理工作,输出或保存到 pcap 文件。我们用tcpdump来抓取三次握手的报文iptables,也是一个运行在用户态的应用程序,底层用的内核模块netfilter,是一个linux防火墙,我们用它来模拟三

2022-02-27 22:20:16 4513

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除