
测试
文章平均质量分 91
bandaoyu
这个作者很懒,什么都没留下…
展开
-
linux如何使 CPU使用率保持在指定百分比?
dd if=/dev/zero of=/dev/null 运行dd命令, 输出到/dev/null, 实际上仅仅占用CPU, 没有IO操作.因为连续运行N个(N是CPU个数)的dd 命令, 且使用率为100%, 这时调度器会调度每一个dd命令在不同的CPU上处理.进程来使CPU占用率接近xx%。请注意,这个脚本仍然是一个近似的解决方案,并不能保证精确地达到xx%的占用率。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。of=文件名:输出文件名,默认为标准输出。原创 2024-04-10 01:08:14 · 2691 阅读 · 5 评论 -
【C/C++】Jemalloc + Jeprof内存泄漏分析
需要include jemalloc的头文件并链接jemalloc库: gcc -I/usr/local/jemalloc-5.1.0/include main.c -L/usr/local/jemalloc-5.1.0/lib -ljemalloc。(原文:https://docs.tibco.com/pub/activematrix_businessworks/6.6.1/doc/html/GUID-231E1EFC-EA7C-4072-B0F4-0D92093D3161.html)原创 2024-04-10 01:16:26 · 3396 阅读 · 0 评论 -
【存储】cosbench对象存储测试工具
COSBench是一个用于测试对象存储系统的分布式基准测试工具存储集群建立网关,cosbench连接网关,根据用户提交的xxx.xml向集群下IO(网关地址,key,和怎么下IO在配置文件xxx.xml中配置了)下载cosbench:https://github.com/intel-cloud/cosbench工具,放到压力机上,解压。这个时候就可以访问你启动的cosbench了:#替换成实际地址(集群提前创建好网关,客户端(key))样例如下,文章后面会教你怎么写。原创 2024-04-22 00:56:45 · 4358 阅读 · 5 评论 -
[测试]ChaosBlade: 丢包、延迟、断网、磁盘、cpu占用、内存占用等资源耗尽故障注入利器--编辑中
在混沌实验中,工程团队会有意地引入各种异常和故障,例如断网、服务器宕机、资源耗尽等,以测试系统的稳定性和可靠性。通过这种方式,团队可以评估系统在面对异常情况时的表现,并针对性地改进系统设计、架构或部署流程,从而提高系统的鲁棒性和可用性。通过这种方式,团队可以评估系统在面对异常情况时的表现,并针对性地改进系统设计、架构或部署流程,从而提高系统的鲁棒性和可用性。引入各种异常和故障,例如断网、丢包延迟、服务器宕机、cpu、内存d等资源耗尽等,以测试系统的稳定性和可靠性。原创 2024-04-23 00:28:35 · 2094 阅读 · 1 评论 -
【性能】中断绑定|irqbalance 中断负载均衡|多队列技术
Linux系统默认使用irqbalance服务优化中断分配,它能自动收集数据,调度中断请求,但是它的分配调度机制极不均匀,不建议开启,为了了解中断绑定,我们把irqbalance服务关掉,手工调整绑定关系。由于硬中断处理程序不能被中断,如果它执行时间过长,会导致CPU没法响应其它硬件的中断,于是内核引入软中断,将硬中断处理函数中耗时的部分移到软中断处理函数处理。单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求,同时也可以降低CPU0的负载。原创 2023-02-27 08:57:02 · 4973 阅读 · 3 评论 -
【网络】为什么单个TCP连接很难占满带宽
如果你需要用单个 TCP 连接把带宽占满,你必须把滑动窗口设置成带宽 * 网络延时那么大。这样来想这个问题,从甲地到乙地,寄一封信的时间为 2 年(网络延时), 甲地每年往乙地最多能寄 100 封信(带宽), 那么从甲地到乙地邮寄的路程上,一共最多有多少封信在寄?答案是 200 封, 很简单,假设甲地把带宽用满, 第一年寄 100 封,第二年寄 100 封,而这 200 封信都没有能到达乙地。我发现 1 秒钟,我的大脑很难理解它为一段时间,所以我把它拉长为 2 年,数据包我改成送信。转载 2023-02-24 10:28:42 · 1588 阅读 · 1 评论 -
【rpm】源码包制作rpm包|修改rpm、重新制作rpm包
打rpm 包需要的东西有 源码、spec文件(打rpm包的脚本)、rpmbuild工具。原创 2023-01-08 00:15:40 · 7065 阅读 · 5 评论 -
【容器】K8S|Podman|容器技术总目录|问题记录
在调试mysql-operator和mysql,在部署mysql的过程中,一直出现,mysqld: File ‘/var/lib/mysql-bin.index’ permission deined或者报错Can’t find error-message file ‘/usr/local/mysql/errmsg.sys’服务器/data/mysql挂载了容器中的/var/lib/mysql。rdma 无法访问设备描述符的目录。原创 2022-11-26 23:06:28 · 734 阅读 · 2 评论 -
【容器】Podman和常用命令
cgroup V2Linux内核功能允许用户限制普通用户容器可以使用的资源,如果使用cgroupV2启用了运行Podman的Linux发行版,则可能需要更改默认的OCI运行时。配置按此顺序读入,这些文件不是默认创建的,可以从/usr/share/containers或复制文件/etc/containers并进行修改。如果普通用户的身份从主机目录挂载到容器中,并在该目录中以根用户身份创建文件,则会看到它实际上是你的用户在主机上拥有的。容器与root用户一起运行,则root容器中的用户实际上就是主机上的用户。原创 2022-11-24 21:10:14 · 4732 阅读 · 0 评论 -
【指针】指针有效性检测必要性|空指针/无确切类型指针 viod *
题目:已知strcpy函数的原型是:char * strcpy(char * strDest,const char* strSrc);1.不调用库函数,实现strcpy函数。2.解释为什么要返回char *。解说:1.strcpy的实现代码char * strcpy(char * strDest,const char* strSrc...原创 2012-04-01 22:44:42 · 1332 阅读 · 0 评论 -
【mmap】深度分析mmap:是什么 为什么 怎么用 性能总结
一、mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。如下图所示:由上图可以看出,进程的虚拟地址空间,由多个虚拟内存区域构成。虚拟原创 2020-06-14 20:19:24 · 2195 阅读 · 1 评论 -
【质量】镜像漏洞扫描工具Trivy原理和操作
Trivy 有对 CI 友好的特点,并且官方也以这种方式使用它,想要集成 CI 只需要一段简单的 Yml 配置文件即可,如果发现漏洞,测试将失败。由于在自动化场景(如CI/CD)中,您只对最终结果感兴趣,而不是对完整的报告感兴趣,因此请使用 –light 标志对此场景进行优化,以获得快速的结果。在下面的示例中,仅当发现关键漏洞时,测试才会失败。漏洞扫描工具扫描镜像内的组件/库的包的版本,然后再去官方数据库检索,查看当前镜像内的组件/库的版本有没有官方记录的漏洞,发现有就列出漏洞列表(cve id列表)。原创 2022-08-22 11:30:01 · 4000 阅读 · 0 评论 -
【Cmake】Ctest测试工具
CTest是CMake集成的一个测试工具,在使用CMakeLists.txt文件编译工程的时候,CTest会自动configure、build、test和展现测试结果。创建CTestConfig.cmake在上层目录中,在cmake文件中,我们可以声明项目的名字和上传到的地址。原文链接:https://blog.youkuaiyun.com/xu_yun_huan_yue/article/details/120155307。2. 在test/CMakeLists.txt中写你的测试需要的即可(可以如下面那样写)....原创 2022-08-08 00:28:33 · 7260 阅读 · 0 评论 -
【部署和维护】简述os,docker,k8s,openshift,rucher的关系 -----学习和编辑中
dokcer与虚拟机关系: docker只是管理容器生命周期的框架,通过下图你可以看到: K8S的主要工作:KBS与docker的关系: Openshift主要功能: Rucher的主要功能: Rancher与devops: 参考如下:https://blog.51cto.com/blief/2386811抱歉还有部分图忘记出处,请作者多海涵。......原创 2020-07-16 05:36:27 · 1174 阅读 · 0 评论 -
【K8s】什么是Docker和K8S(Kubernetes)
原文:Docker和容器技术为什么会这么火爆?说白了,就是因为它“轻”。在容器技术之前,业界的网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。相信很多人都用过虚拟机。虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。虚拟机,类似于“子电脑”在“子电脑”里,你可以和正常电脑一样运行程序,例如开QQ。如果你愿意,你可以变出好几个“子电脑”,里面都开上QQ。“子电脑”和“子电脑”之间,是相互.....原创 2020-12-03 22:39:26 · 11147 阅读 · 2 评论 -
【性能】基于Perf和VTune的程序性能瓶颈分析
原文:https://www.eefocus.com/embedded/479299本文首先介绍了对应用程序进行分析的 3 个指标,然后介绍了 Linux 系统工具、Perf 以及 Vtune 工具的使用,尤其重点描述了如何利用 Perf 和 VTune 工具对程序进行剖析,寻找程序的性能瓶颈。利用好这些性能调优工具,能够快速定位程序的性能热点以指导程序的性能瓶颈优化。应用程序的开发测试过程中,对程序性能进行分析和优化是不可或缺的一部分。性能分析(performance analysis 也称为 profi转载 2022-07-06 14:56:35 · 902 阅读 · 0 评论 -
【性能】性能分析工具VTune|perf相关性工具
VTune是 Intel 提供性能分析软件,VTune Amplifier XE 2011 集成了Intel VTune Performance Analyzer 和 Thread Profiler的主要功能,同时吸取了Performance Tool Utility 这个产品的优点。其中,Vtune Performance Analyzer是性能分析工具,找到软件性能热点、瓶颈部分;Vtune Threading Profiler是线程性能检测工具 , 分析负载平衡、同步开销过大等线程相关的性能问题。原创 2022-07-06 14:49:21 · 1175 阅读 · 0 评论 -
【单元测试】Google Test(GTest)和Google Mock(GMock)--编辑中
目录google test简介入门例子进阶Gtest简介GoogleTest 是 Google 的 C++ 测试和模拟框架,是库,提供了一些API接口,用于测试你的程序。我们编写测试文件,里面调用GoogleTest的API 测试我们的函数。然后编译的时候把GoogleTest的库链接进来即可。入门例子编译环境中安装Gtest,既编译Gtest的源码编出Gtest的库gtest,放到链接目录下(供后面测试代码链接它和调用它的API)$ git clone ht.原创 2022-04-24 02:44:02 · 9661 阅读 · 0 评论 -
【ssh】xshell的替代--WindTerm|Mobaxterm使用笔记
WindTerm简介Windows下有没有xshell的更好的替代品? - 知乎WindTerm (窗口标签不能拖出拖入)下载:https://github.com/kingToolbox/WindTerm使用说明(外网太慢,把网页下下来,本地访问):GitHub - kingToolbox/kingToolbox.github.io: Blog of WindTerm and WindEdit原文链接:https://blog.youkuaiyun.com/bandaoyu/article/d.原创 2021-12-06 14:57:18 · 24124 阅读 · 2 评论 -
【ceph】vdbench使用教程--裸盘和文件系统测试vdbench
目录即看即用详细说明vdbench简介常用执行选项和参数文件说明1、文件系统2、块设备(裸盘测试)运行使用1、单机运行2、联机运行结果分析1、输出文件2、结果分析测试说明1、测试总结2、常见测试参数即看即用测试一下vdbench的可用性:进入vdbench相应目录下./vdbench -t运行测试模型./vdbench -f {filename} -o {exportpath}#注:-f后接测试参数文件名,-o后接导出测试.原创 2021-11-27 15:44:02 · 14264 阅读 · 13 评论 -
【linux】Linux资源监控统计--sar|cpu+内存+换页+文件+IO队列+设备负载
即可即看输出CPU使用情况的统计信息简介sar属于sysstat 工具包,sysstat中包含两类工具:即时查看工具:iostat、mpstat、sar累计统计工具:sar也就是说,sar 具有这两种功能。因此,sar 是 sysstat 中的核心工具。实例sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、C.原创 2021-11-05 19:25:45 · 5122 阅读 · 0 评论 -
【测试】磁盘、CPU统计iostat工具
下面给出几个例子: # 显示一条包括所有的CPU和设备吞吐率的统计信息# iostatLinux 2.6.18-53.el5 (cnetos5) 01/21/2008avg-cpu: %user %nice %system %iowait %steal %idle 0.10 0.04 0.37 0.07 0.00 99.42Device: tps Blk_read/s Blk_wrtn/s...原创 2021-11-03 17:33:51 · 965 阅读 · 1 评论 -
【性能】perf工具简介
perf架构图总览Events事件主要有哪些hardware events:CPU performance monitoring counterssoftware events: 基于kernel counters的低水平事件,比如cpu迁移、minor faults、major faults等等kernel tracepoint events:编码嵌入在内核中的内核级别静态测试点User statically-defined tracing(USDT): 用户级别的静态测试转载 2021-10-11 14:41:49 · 2784 阅读 · 0 评论 -
【网络】如何判断网络达到瓶颈|网络查询命令
ifconfig 查看信息collisions # collisions:发生碰撞的数据包,如果发生太多次,表明网络状况不太好[root@localhost ~]# ifconfigenp61s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 182.200.31.57 netmask 255.255.255.0 broadcast 182.200.31.255 et...原创 2021-09-10 11:23:45 · 3119 阅读 · 0 评论 -
【性能】性能瓶颈分析(综合)--编辑中
网络性能瓶颈分析手段【软件质量】用profile 工具查找软件性能瓶颈|性能_bandaoyu的博客-优快云博客测试手段【测试】使用iPerf进行网络吞吐量测试_bandaoyu的博客-优快云博客软件性能瓶颈分析软件在哪些函数耗时最多:《perf + 火焰图分析程序性能》【程序质量】perf + 火焰图分析程序性能_bandaoyu的博客-优快云博客sysstat--系统性能监控神器(性能信息收集)--iostat、sar、top、htop【Linux】syssta原创 2021-09-10 11:09:01 · 309 阅读 · 0 评论 -
【网络】tshark 参数说明(tshark 是Wireshark的命令行工具)
目录1、目的2、首先我们先来看一下网上的一些例子,我对这些例子进行了整理,并给出了说明。3、选项介绍4、部分命令测试5、参考文献原文:https://www.cnblogs.com/liun1994/p/6142505.html1、目的 写这篇博客的目的主要是为了方便查阅,使用wireshark可以分析数据包,可以通过编辑过滤表达式来达到对数据的分析;但我的需求是,怎么样把Data部分导出来,因为后续的工作主要针对数据包的Data部分,主要是对本地存储的.pcap文..转载 2021-05-18 15:34:48 · 4422 阅读 · 0 评论 -
【测试】linux tc命令|Linux模拟网络延迟、丢包等|traffic control(流量控制)
一、工具介绍1.netemnetem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian等等2.tctc是Linux 系统中的一个工具,全名为traffic control(流量控制)。...原创 2021-04-13 17:20:07 · 4414 阅读 · 0 评论 -
【测试】Linux网络性能评估工具iperf|qperf|netperf
介绍测试:带宽、延迟、抖动、数据包丢失率、最大传输单元等统计信息。不同:qperf和iperf/netperf一样可以评测两个节点之间的带宽和延时,相比netperf和iperf,支持RDMA是qperf工具的独有特性。说明qperfqperf安装可以直接通过yum源安装。#yun install qperf同时会安装两个依赖包(libibverbs, librdmacm),是直接和rdma功能相关的,不然无法启动rdma功能。也可以通过,https://pkgs.o.原创 2021-05-13 17:41:47 · 7692 阅读 · 7 评论 -
【shell】循环测试脚本|历史脚本记录|启动OSD脚本
#!/bin/bash#说明函数定义脚本#***************************************************************#函数 status_check#判断程序$1是否已经在运行 $1:第一个参数#***************************************************************function status_check(){ pids=`ps aux|grep -w ${1}|g.原创 2021-04-07 14:25:42 · 877 阅读 · 1 评论 -
【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包
目录通过/dev/tcp、/dev/udpshell给tcp或udp服务发送16进制报文指令通过/dev/tcp、/dev/udp(https://blog.youkuaiyun.com/u010039418/article/details/86251470)通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。直接发送格式 /dev/udp/ip/port比如要向本地10001端口发送数据,可以使用ec.原创 2021-04-15 10:18:03 · 10772 阅读 · 7 评论 -
【Linux】程序卡死、失败位置|pstack和starce看进程调用|分析耗时函数
1、strace -p [进程号]strace -p 1002297strace: Process 1002297 attachedfutex(0x7fcbb95f3f84, FUTEX_WAIT_PRIVATE, 1, NULL可以看到死在了futex(0x7fcbb95f3f84, FUTEX_WAIT_PRIVATE, 1, NULL原创 2021-03-03 11:10:28 · 15249 阅读 · 1 评论 -
【调试】strace命令|跟踪进程系统调用和所接收的信号|查找依赖库失败|linux
原文:https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/.原创 2021-03-02 10:18:51 · 2599 阅读 · 0 评论 -
【网络】流量监控 - iftop|ifstat|查看某个ip流量|tcpdump|iptraf|Linux
iftop原文:http://www.vpser.net/manage/iftop.html四、运行iftop直接运行: iftop效果如下图:五、相关参数及说明1、iftop界面相关说明界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间的<= =>这两个左右箭头,表示的是流量的方向。TX:发送流量RX:接收流量TOTAL:总流量Cumm:运行iftop到目前时间的总流量peak:流量峰值rates:分别表示过去 2s 1原创 2021-02-27 13:54:33 · 11180 阅读 · 0 评论 -
【gdb&core】Linux中gdb 查看core堆栈信息1
core dump 一般是在segmentationfault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入:gdbfilename corefilename就是产生core文件的可执行文件,croe就是产生的core文件名查看栈信息当程序被停住了,你需要做的第一件事...原创 2016-08-17 00:06:43 · 540 阅读 · 0 评论 -
【shell】shell脚本读取给定参数|参数个数
myshell.sh#!/bin/shfunction ParaAnalyse(){if [ -z "$1" ]thenecho no para to analyseelsepara=$1local paraType=${para:O:3} case $paraType in-b:|-B:) boardType=${para:3};;-s:|-S:) BuildType=${para:3};;-f:|-F:) filter="-f ${para:3} $filter" ;;.原创 2021-02-09 14:50:28 · 6730 阅读 · 3 评论 -
【调试】linux top查看线程/进程/僵尸进程
Linux查看某个进程的线程ps -T -p <pid>top -H -p <pid>原创 2021-02-05 15:40:43 · 66443 阅读 · 5 评论 -
【性能】大页内存 (HugePages)在通用程序优化中的应用
原文:https://blog.youkuaiyun.com/yutianzuijin/article/details/41912871今天给大家介绍一种比较新奇的程序性能优化方法—大页内存(HugePages),简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表缺失。这方面的资料比较贫乏,而且网上绝大多数资料都是介绍它在Oracle数据库中的应用,这会让人产生一种错觉:这种技术只能在Oracle数据库中应用。但其实,大页内存可以算是一种非常通用的优化技术,应用范围很广,针对不同的应用程序,最多可能.原创 2021-02-02 15:18:31 · 1229 阅读 · 0 评论 -
【Linux】sysstat--系统性能监控神器(性能信息收集)--iostat、sar、top、htop
sysstat 工具简介Linux Sysstat是linux系统免费提供用于收集主机性能的一个软件包,不是默认安装的,需要自己安装。sysstat 是Linux 系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。sysstat 工具包中包含两类工具:即时查看工具:iostat、mpstat、sar累计统计工具:...原创 2019-11-22 09:46:31 · 1609 阅读 · 0 评论 -
【测试】 FIO:ceph/磁盘IO测试工具 fio(iodepth深度)
原文:https://blog.youkuaiyun.com/don_chiang709/article/details/92628623FIO介绍FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,IO 是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能(也包含文件系统:如针对网络文件系统 NFS 的IO测试)。原创 2021-01-26 19:55:00 · 18024 阅读 · 1 评论 -
【C++11】emplace_back 与 push_back的区别
原文:https://blog.youkuaiyun.com/p942005405/article/details/84764104C++容器比如vector,map,set等的插入操作,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。引入了右值引用,转移构造函数后,push_back()右值时就会调用构造函数和转移构造函数,如果可以在插入的.转载 2021-01-14 21:13:34 · 418 阅读 · 0 评论