- 博客(234)
- 资源 (13)
- 收藏
- 关注

原创 基于Nose Framework做分布式存储产品自动化
自2018-05-01提交第一个commit以来,在不影响正常测试工作release版本情况下,断断续续的持续了1年8个月的自动化开发在今天(2019-12-31)收尾了,总测试用例数为1310个,一路走来深有感慨。。。。。。虽然收尾了,但后期版本功能发生变化,或者用例开发过程中有一些bug未考虑到导致用例执行失败的,还是需要对用例进行修改、优化,总之,一个产品自动化的完善,需要一个循序渐进的过程,持之以恒,总会渐变渐好!
2024-09-14 17:59:20
1737

原创 Linux ncdu命令
它以一种更人性化和直观的方式展示了磁盘空间的使用情况,使用户能够更容易地识别无用的大文件,从而释放磁盘空间。该命令用于显示磁盘空间的使用情况,可以查看文件系统的总空间、已用空间和可用空间等信息。这将列出所有已连接的块设备和其分区,以及它们的容量、分区大小、文件系统类型等信息。版本支持,可以查看历史记录,以查看在不同时间段进行的分析结果的差异和比较。-s表示仅显示目录的总计大小,而不显示目录下各个文件的信息;该命令列出所有可用的块设备,并且可以查看磁盘的使用情况。该命令用于显示文件或目录的磁盘使用情况。
2024-09-10 09:42:26
529

原创 基于Robot Framework做VirtualStore的自动化
project的详细配置,请参考Nanking lab 172.16.146.234的设置。本文章著作权归作者所有,任何形式的转载都请注明出处。来源: Transcendent。文章作者: Gavin Wang。
2024-09-09 09:46:03
1466

原创 Appium+python APP 自动化安装指南
说明:如果作为服务端,请参考软件安装和Python与python开发环境配置章节;如果仅作为Client,请参考client安装章节。
2024-09-08 20:49:17
2188

原创 android APP性能数据收集
APP性能数据收集操作指南 功能描述集成monkey功能, 以及在手工测试app端功能时,自动收集相关数据,并生成HTML报告。 实现方法 1、采用python脚本来驱动测试; 2、调用androidSDK adb与monkey命令,进行数据采集和稳定性测试; 3、采集数据写入文件和数据库; 4、附带android其他小脚本,便于测试过程中使用;
2015-07-19 18:41:15
2261
2
原创 python字段反转去重
最近在写script支持cobbler全自动部署OS,由于profile与system对应关系是1:N,下次执行自动安装前会清理掉对应的profile与system,但当有其他人使用了script生成的profile后,就形成了一个profile对应多个system,回头再删profile时出错,因为这个profile有被其他system占用,删除失败了。解决方法就是找处profile关联的system,先删除掉system,再删除profile。
2024-09-19 10:02:52
214
原创 mds damaged test script
本文章著作权归作者所有,任何形式的转载都请注明出处。来源: Transcendent。文章作者: Gavin Wang。
2024-09-19 10:01:44
406
原创 热插拔设备
测试中碰到破坏RAID或下线磁盘的场景,需要从设备上拔盘,然后等产品侦测到对应Disk或VD异常后,再插回去,验证程序侦测及时性是否存在问题。由于要频繁的进出机房进行设备的拔出与插回操作,比较麻烦,是否有更便捷的方式进行操作呢?本文介绍同事推荐的,在有热交换驱动器情况下,通过scsi热插拔指令(scsi remove-single-device,scsi add-single-device),移除和回插某块设备。
2024-09-19 10:01:11
609
原创 获取系统中所有的pid
Linux进程的pid,会在/proc目录下产生对应pid目录,如果想获取当前系统所有的pid,可以到此目录下去找。本文介绍几种方法,获取到所有的pid。
2024-09-19 10:00:38
979
原创 利用oceanfile批量构造文件并统计cephfs速度
前段时间RD优化了rocksdb,S3的性能有显著提升,在此基础上,利用RD自研工具验证cepfhs 写速度,每间隔5million个文件进行一次写速度的统计。
2024-09-19 10:00:04
329
原创 awk引用shell中变量
在网上找了一个统计pool下pg分布的脚本,拿来使用了一下,发现可以在ceph J版上执行,在L版报错,原脚本内容参考如下:shellwhile($col!i=0;RSTART=0;RLENGTH=0;END {sum=0;}'本文讲述awk如何引用shell变量,来解决上面这个脚本对我们产品的兼容问题。
2024-09-19 09:59:28
286
原创 shell随机数生成的几种方法
今天验证在对存储不断灌S3 10K小对象数据情况下,对设备强制断电,观察是否引发ceph-osd crash问题,简易写了个临时命令完成检查操作,如下:shellsleep 300;done另外一个临时check脚本参考如下:shell/bin/bashi=1doif [[ $?-eq 0 ]];then!exit 1elselet i+=1fidone这里使用到了随机数,本文介绍shell几种生成随机数的方法。
2024-09-19 09:58:49
1589
原创 shell完成一次ceph-osd crash验证
最近在测试ceph rocksdb性能优化效果,由于频繁的重启机器(ipmitool power off),出现了两次ceph-osd replay crash问题,由于频繁的power off太伤机器了,验证完毕rocksdb性能优化后,重写了个script,通过kill ceph 核心服务来模拟突然掉电,同时cosbench持续狂打流量,以及不间断的reset s3 pool 来完成场景的复现。
2024-09-19 09:58:19
419
原创 shell中|&含义
今天细看了同事Henry编写的一个shell脚本,看到如下片断内容:shelldosleep 60done这里有一个'|&',不明觉厉~ (#.#)
2024-09-19 09:57:36
379
原创 统计两个时间的时间差
最近在跑cosbench,由于OS根分区空间满,导致cosbench任务失败,误删了一部分cosbench archive记录,但controller html页面还是能展示这部分数据记录的片段信息,比如任务的提交时间,起始时间与结束时间,而每个cosbench 任务写数据的总量可以从定义的xml中获取到,需要手动计算一下起止时间差,统计总量/时间差,就可以得到这轮任务的平均写速度了。本文介绍通过script计算前后两个时间差,每次都记不住,这次写下来,避免每次都去查资料重新写script。
2024-09-19 09:53:38
228
原创 快速获取Lab中哪些IPMI IP地址被使用
Lab里有一大批设备,每个设备都配置了IPMI地址,虽然Office提供了一个在线的excel供大家编辑,但未必每个人都会定期去更新它(因为设备偶尔有进有出),时间久了就会发现excel记录太旧了。本文不是介绍如何定期更新excel,而是如何快速获取哪些IPMI地址在使用。
2024-09-19 09:53:04
364
原创 频繁启用&停用ES服务,出现local-fs.target failed with result dependency
Ubuntu16.04,产品新增了Elasticsearch功能,在测试ES服务启用过程冲,选择240G 的Intel S4510 型号的SSD一块作为ES的data:shell在频繁测试ES服务启&停过程中,发现有个node上的众多服务接收到终止信号(15),而且复现几率非常的高,此时ipmi console出现如下信息:执行systemctl --failed,信息如下:使用 ‘journalctl -xb’,dump的信息中,未找到问题发生的原因,只有类似如下的片断信息:shell----
2024-09-19 09:52:38
1360
原创 ceph S3 多租户
在J版之前,同一个ceph集群中不允许有同名的bucket和S3账号的存在,从J版本开始,引入multi-tenancy功能,使得不同tenant(租户)下的账号和bucket可以同名,为了兼容J之前的版本,提供了一名为空的“legacy” 租户,如果没有指定tenant,则从这个“legacy” tenant去获取账号/bucket信息。本文所示的多租户,解决了如下问题:实现同集群中创建同名bucket和S3账号,即实现租户的数据隔离。
2024-09-19 09:48:10
998
原创 API响应慢问题复现
现在测试有个需求,需要验证某个API响应时间,之所以关注这个API时间,是因为有时响应太久,超过30s,估计这个时间客户也无法容忍。
2024-09-18 09:22:07
470
原创 shell计算精度
为何要写这篇文章,因为在上篇文章有使用shell去尝试统计ES的写入速度,需要精确到毫秒级别的时间差,但是尝试了expr,let,发现不行,而是awk却可以,所以本文汇总一下,以bash为例,shell中的计算精度问题。
2024-09-18 09:21:23
750
原创 VD与RAID分区对应关系
环境中创建了VD,lsblk可以看到创建好后的分区信息,如何获取分区与RAID VD之间的对应关系呢,比如/dev/sdc分区,对应RAID组哪个VD?
2024-09-18 09:20:52
502
原创 VD与RAID分区对应关系
环境中创建了VD,lsblk可以看到创建好后的分区信息,如何获取分区与RAID VD之间的对应关系呢,比如/dev/sdc分区,对应RAID组哪个VD?
2024-09-18 09:16:07
224
原创 统计cosbench写速度
BTW,今天是24节气的芒种,因新型冠状病毒疫情影响,高考延后了1个月。言归正传,测试任务要求如下:需要知道当前集群,单一bucket中,存放1000万object,存放2000万object,存放3000万object,。。。。一直到存放110million个object,即每间隔存放1000万笔记录情况下,RGW性能是否伴随单一bucket中object数量的增加,写性能存在下降状况?
2024-09-18 09:13:51
835
原创 gzip vs bzip2 vs xz vs pbzip2 性能对比
两天前,简单写了篇bzip2 与 pbzip2 压缩哪个更快,当时是处于使用esrally压测Elastic search性能,并没有太多的关注几种压缩工具的性能如何。本文介绍常用的几种压缩命令,分别汇总出各个命令的压缩&解压缩全方面性能对比。
2024-09-18 09:12:45
1185
原创 esrally实战
其中,pool_name为当前S3 pool的名称,xxx为一串随机字母和数字组合体,比如:rgw-default-0185294c。知道了产品创建的index,通过Chrome插件elastic head,成功查询出该index的index information:shell"index": {},},"_doc": {},"owner": {"id": {},},},"meta": {},},},},"mtime": {},},"name": {},
2024-09-18 09:11:44
1012
原创 bzip2 vs pbzip2 性能对比
近期使用esrally进行Elastic Search性能压测,使用script产生了原始数据,这些原始数据需要被压缩成bz2格式,如果原文件大小很大,压缩起来就非常耗时。本文介绍几种bzip2压缩操作,观察耗时情况。
2024-09-18 09:11:13
280
原创 Cosbench wirte speed scenario test script
本文章著作权归作者所有,任何形式的转载都请注明出处。来源: Transcendent。文章作者: Gavin Wang。
2024-09-18 09:10:14
489
原创 Linux下统计行数性能对比
这次使用esrally进行elastic search性能测试,构造了产品自己生成的索引所需要的数据,由于数据比较大,行数有700million+,统计行数碰到了问题,主要是时间问题,统计太耗时,所以,想知道哪个统计效率更高。本文介绍几种方法,以100million行数的文件,在Linux下统计文件行数,对比下统计性能如何。由于被统计的文件的数据结构不一样,上述命令统计出来的性能也会有一些差异。本文示例的文档,统计效果比较好的方法是:wc -l 优于 cat 优于 sed 优于 awk 优于 grep。
2024-09-18 09:09:30
296
原创 Linux开机启动,进入welcome to emergency mode
Ubuntu 18.04系统, 执行reboot -f后,网络不通,通过IPMI console查看,发现出现 ‘welcome to emergency mode!’,详细信息如下图所示:shell。
2024-09-18 09:08:27
659
原创 控制keepalive VIP漂移范围
产品有配置keepalive功能,但该功能目前仅通过priority来控制VIP在不同节点间漂移,此处的不同节点,是集群内部的所有节点。我们先看看下各个节点(以3节点为例),keepalive.conf内容信息,参考如下:== node243shellpriority 3bond112.7.3.89== node244shellpriority 2bond112.7.3.89== node245shellpriority 1bond112.7.3.89。
2024-09-18 09:07:49
422
原创 Jenkins部署pipeline并发执行pytest自动化用例
目前现有自动化用例数比较多了,在free style jenkins project中顺次执行,耗时1天左右,很明显,耗时太久,急需用例能够并发执行,从而实现节约时间。本文介绍如何通过pipeline project,实现现有用例执行流程的改造,实现并发执行。
2024-09-18 09:07:09
1530
原创 API获取Jenkins构建信息
Jenkins 的 REST API 可以从外部调用 Jenkins 实例,一些库例如 jenkins-rest 和 java-client-api 封装了相关 API,可以在 Java 中操作 Jenkins。名词说明job任务payload在POST请求中提交的数据可选参数:任务所在目录的路径必须参数:任务名称注意:在 GET/POST 时需要附加 HTTP 认证才能访问 API本文使用的数据结构可以在 jenkins-rest/domain 中查看详细定义。
2024-09-18 09:05:42
1325
原创 Megacli详解
通常,我们使用的DELL/HP/IBM三家的机架式PC级服务器阵列卡是从LSI的卡OEM出来的,DELL和IBM两家的阵列卡原生程度较高, 没有做太多封装,可以用原厂提供的阵列卡管理工具进行监控;而HP的阵列卡一般都做过封装了,因此需要使用自身特有的管理工具来监控。本文以几种常用的阵列卡为例,展示其阵列卡及硬盘监控的方法。DELL SAS 6/iR卡,全称LSI Logic SAS1068E,只支持RAID 0, RAID 1, RAID 1+0, 不支持RAID 5等高级RAID特性,不支持阵列卡电池。
2024-09-14 18:10:58
2177
原创 更改pip&easy_install默认安装源
pip默认安装源来自国外,很多时候由于墙的原因,导致下载很慢,或者超时,为了解决这个问题,尝试修改了pip默认安装源(具体操作下文介绍)。但在更改默认源后,如果被安装的包有依赖,需要先安装依赖的包,但这个依赖包还是使用的默认源。本文介绍如何解决这些问题。说明:本文以Ubuntu OS为例进行文档描述。
2024-09-14 18:10:10
1026
原创 Put S3 objects with metadata
产品引入keepalive,做了HA,在设置了浮动IP情况下,观察测试过程中浮动IP所在节点发生异常(如宕机,断网,keepalived服务挂掉等情况)业务中断时间,为此写了如下测试脚本,通过浮动IP,模拟并发/批量上传S3 对象文件。
2024-09-14 18:09:26
354
linux性能数据收集工具
2015-08-22
升级验证数据比对工具(QCC)
2015-08-22
工作中小结-oracle总结
2014-06-04
数据升级比对
2014-04-18
Komodo-IDE-8 license
2013-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人