2019-06-10 10:48:00 weixin_30315723 阅读数 25
  • 微服务场景下的自动化测试

    测试人员在流程微服务中如何简单高效完成开发测试任务?讲师结合自身流程平台自动化测试实践的经验,梳理出在微服务架构的数字化企业云平台中,该如何完成流程微服务的自动化测试,并且提供高质量的上线保障。

    5126 人正在学习 去看看 CSDN讲师

测试的目标

1、找到硬件设备的性能拐点,为设备规划合理的工作负载;(硬件的利用率和负荷处于较高水平,可能宕机或拖慢服务的响应速度)

2、找到系统的性能瓶颈,优化服务的实现方式;(硬件的利用率和负荷处在正常水平,但是服务响应的延迟时间比较长)

3、回答当前的系统能承载多少访问量

 

性能拐点

系统的性能主要由 支持多少并发访问 和 访问延迟时间 体现。自己的测试工作有 确定当前硬件条件下某个大数据组件在规定的延迟时间限制下所能支持的最大并发访问量 这个中心,也就是回答 当前的配置能够支持多大的场景 和 某个场景需要什么样的配置 这两个问题。

根据下图的淘宝性能测试曲线,将单个服务器的TPS设置为 $ A_y $ ,可以兼顾利用率和运维的可靠性。

 

 

性能瓶颈

 场景:针对场景进行优化,减小响应时间,提高吞吐量

1、登录:限制响应时间

2、查询:限制响应时间

 

容量

单节点性能 * 节点数 / 加速比(节点与加速比对应表) >= 容量 

系统支持全所6W职工同时访问系统

PV计算带宽
假设网站的平均日PV:10w 的访问量,页面平均大小0.4 M
网站带宽 = 10w / (24 *60 * 60)* 0.4M * 8 =3.7 Mbps

PV与并发
假设网站的日平均PV:10w 的访问量,页面平均大小0.4 M,50个派生连接数
并发连接数 = (100000PV / 86400秒 * 50个派生连接数 * 1秒内响应 * 5倍峰值) / 1台Web服务器 = 289 并发连接数

PV计算QPS
系统1天内的总访问量是10w pv,该落地页的衍生连接数为50,那么系统的平均QPS
平均QPS = 100000 * 50 / ( 8 * 60 * 60 ) = 171
峰值QPS大概是均值QPS的3-5倍
峰值QPS = 171 * 5 = 855

需要测试得到的数据:
网络带宽、单机极限并发连接数、单机极限QPS

附指标:
网站带宽= PV / 统计时间(换算到S)*平均页面大小(单位KB)* 8
并发连接数 = PV / 统计时间 * 页面衍生连接次数 * http响应时间 * 因数 / web服务器数量
QPS = req/sec = 请求数/秒 = 并发量/平均响应时间 = 总请求数 / ( 进程总数 * 请求时间 ) , 服务器数量 = 峰值时间每秒QPS / 单台机器的QPS

 

参考:

https://www.cnblogs.com/ratels/p/10995587.html

https://www.cnblogs.com/LBSer/p/4605345.html

转载于:https://www.cnblogs.com/ratels/p/10996480.html

2018-11-11 21:05:50 BugOverseas 阅读数 1956
  • 微服务场景下的自动化测试

    测试人员在流程微服务中如何简单高效完成开发测试任务?讲师结合自身流程平台自动化测试实践的经验,梳理出在微服务架构的数字化企业云平台中,该如何完成流程微服务的自动化测试,并且提供高质量的上线保障。

    5126 人正在学习 去看看 CSDN讲师

前一个月,一直在和师兄做实验室的一个项目:大数据平台性能测试(phrase1),没有时间更新。现把第一阶段结果附上,希望能够帮到更多做类似事情的朋友。

源码已经上传至[https://github.com/darcy-shimmer/bigdata_phrase1]里面readme包括详细解释。


本次测试我们使用TPCDS标准进行。第一阶段我们主要测试hive&kudu导入数据速度以及impala+hive和impala+kudu两者的查询速度。


测试环境

  • 节点:阿里云ECS 四个节点(但实际上第一阶段我们只用到了一个服务器bigdata1来测试)
  • 配置:-
    • CPU: 8核
    • 内存: 32 GB
  • 操作系统:CentOS 6.9 64位
  • 版本:Kudu 1.7.0
  • 对照组实验:
    • Impala+hive(textfile)
    • Impala+kudu

测试目的:

利用测试对比该数据平台上,impala+kudu和impala+hive的查询速度,以及把数据导入kudu/hive的速度。


测试步骤

1.数据生成:

#x为生成的数据集大小(int),单位Gb
bash start.sh ganerate x

#以下步骤均已执行,在impala-kudu/tpcds-kit/
sudo yum install gcc make flex bison byacc git
git clone https://github.com/gregrahn/tpcds-kit.git
cd tpcds-kit/tools
make OS=LINUX

  • 有个注意点 因为hdfs是装在bigdata3服务器上,所以在上传到hdfs时候需要ssh到bigdata3,我们用的是:

scp -r …/Data/newData_KaTeX parse error: Expected group after '_' at position 147: …nchmark/newData_̲OPTARG
./hdfs-shell.sh fs -put /home/benchmark/newData_KaTeX parse error: Expected group after '_' at position 64: …chmark//newData_̲OPTARG"

2.数据上传:

bash start.sh load x

注意:在我们测试的平台上,impala shell用$dqe代替。
3.数据查询:
bash start.sh query x

4.kudu表的清空:
说明:在外部表和kudu表建立联系时候(导入),我们使用的是一个文件一个文件导入的,否则总会报错。但是也不能保证这样不会出错,一旦报错,需要执行:bash start.sh delete x用以清空kudu表里面载入的数据。再重新执行:bash start.sh load x


结果上来看

针对较大规模数据 (100G),Hive的导入性能在行数较少的表上面依然表现微弱的优势,但是针对行数超过千万量级数据表时,Kudu的导入性能具有巨大的优势,针对 Store_sales导入时间仅为Hive的十分之一。
针对较大规模的数据 (100G),Kudu的查询性能有较大的优势, 而针对小规模数据 (10G)Hive和 Kudu具有类似的查询效果

2018-09-07 16:06:56 qq_34382453 阅读数 185
  • 微服务场景下的自动化测试

    测试人员在流程微服务中如何简单高效完成开发测试任务?讲师结合自身流程平台自动化测试实践的经验,梳理出在微服务架构的数字化企业云平台中,该如何完成流程微服务的自动化测试,并且提供高质量的上线保障。

    5126 人正在学习 去看看 CSDN讲师

CentOS 6.5 修改主机名

1、编辑 /etc/sysconfig/network
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop-01
2、hostname直接命名
[root@localhost ~]# hostname hadoop-01
3、编/etc/hosts
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.130 hadoop-01

二 配置静态IP和可访问外网
1、关闭windows7防火墙
这里写图片描述
2、关闭CentOS6.5 防火墙

service iptables stop

chkconfig iptables off

3、开启两个服务
VMware DHCP Service
VMware NAT Service
这里写图片描述
4、无线网卡的网络(或者插网线的网络)上设置共享网络,选择 VM8
这里写图片描述
5、使用ipconfig -all 命令查看DNS、IPv4等信息
这里写图片描述
这里写图片描述
6、配置VM8的选择 使用配置IP
这里写图片描述
7、进入VM10,单击菜单栏的编辑–>虚拟网络编辑器
这里写图片描述
这里写图片描述
8、hadoop-01配置NAT网络
这里写图片描述
9、进入hadoop-01,编辑ifcfg-eth0
vi /etc/sysconfig/newwork-scripts
这里写图片描述
10、进入hadoop01,重启网络
执行命令:service newtwork restart
这里写图片描述
11、进入hadoop01,检查能否上网

三 Linux命令基础
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd … 返回上一级目录。
cd …/… 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
4.touch命令
格式:touch[选项] 文件名…
功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
-a 仅改变指定文件的存取时间。
-c 或–no-creat 不创建任何文件。
-m 仅改变指定文件的修改时间。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
5.mkdir命令
格式:mkdir [选项] dirname…
功能:mkdir命令用来创建目录。
常用选项:
-p –parents 可以是一个路径名称。此时若路竞争的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
-m –mode=MODE 将新建目录的存取权限设置为MODE,存取权限用给定的八进制数字表示。
6.rm命令
格式:rm [选项] 文件列表
功能:rm命令删除文件或目录。
常用选项:
-f –force 忽略不存在的文件,并且不给出提示信息。
-r -R,–recursive 递归地删除指定目录及其下属的各级子目录和相应的文件。
-i 交互式删除文件。
说明:rm命令删除指定的文件,默认情况下,它不能删除目录。如果文件不可写,则标准输入是tty(终端设备)。如果没有给出选项-f或者–force,rm命令删除之前会提示用户是否删除该文件;如果用户没有回答y或者Y,则不删除该文件。
7.rmdir命令
格式:rmdir [选项] dirname
功能:删除目录。
常用选项:
-p –parents 递归删除目录 dirname,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。
8.man 命令
格式:man [选项] 命令
功能:man命令格式化并显示某一命令的联机帮助手册页。
常用选项:
-k 根据关键字搜索联机帮助。
num 只在第num章节找。
-a 将所有章节的都显示出来。
说明:面手册分为8章:

  1. 一般用户的命令;
  2. 系统调用;
  3. C语言函数库;
  4. 有关驱动程序和系统设备的解释;
  5. 配置文件的解释;
  6. 游戏程序的命令;
  7. 有用的杂类命令,如宏命令包等;
  8. 有关系统维护和管理的命令。
    9.cp命令
    格式:cp [选项] 源文件或目录 目标文件或目录
    功能:复制文件或目录。
    常用选项:
    -f –force 强行复制文件或目录,不论文件或目录是否已经存在。
    -d 复制时保留文件链接。
    -i –interactive覆盖文件之前先询问用户。
    -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
    -R 或–recursive递归处理,将指定目录下的文件及子目录一并处理。
    10.mv命令
    格式:mv [选项] 源文件或目录 目标文件或目录
    功能:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
    常用选项:
    -f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
    -i 若目标文件(destination)已经存在时,就会询问是否覆盖。
    11.cat/tac命令
    格式:cat [选项] [文件]
    功能:查看目标文件的内容。
    常用选项:
    -b 对非空输出行编号。
    -n 对输出的所有行编号。
    -s 不输出多行空行。
    12.more命令
    格式:more [选项] [文件]
    功能:more命令显示文件内容,每次显示一屏。
    常用选项:
    -n 对输出的所有行编号。
    -s 将文件中连续的空白行压缩成一个空白行显示。
    -num 这个选项制定一个整数,表示一屏显示多少行。
    q 退出more。
    13.less命令
    格式:less [参数] 文件
    功能:less命令与more命令类似,但二者存在差别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
    常用选项:
    -i 忽略搜索时的大小写。
    -N 显示每行的行号。
    14.head命令
    格式:head [选项] [文件]
    功能:head命令在屏幕上显示指定文件的开头若干行。
    常用选项:
    -c –bytes=[-]N 显示每个文件前面N字节。
    -n –lines=[-]N 显示指定文件的前面N行。
    15.tail命令
    格式:tail [选项] [文件]
    功能:用于显示指定文件的末尾,不指定文件时,作为输入信息进行处理。常用查看日志文件。
    说明:tail命令从指定点开始将文件写到标注输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
    常用选项:
    -f 循环读取。
    -n <行数> 显示行数。
2015-11-03 14:32:08 test_soy 阅读数 1024
  • 微服务场景下的自动化测试

    测试人员在流程微服务中如何简单高效完成开发测试任务?讲师结合自身流程平台自动化测试实践的经验,梳理出在微服务架构的数字化企业云平台中,该如何完成流程微服务的自动化测试,并且提供高质量的上线保障。

    5126 人正在学习 去看看 CSDN讲师

一.大数据特点

1.大规模

  大数据分析系统往往由服务器集群组成,目前是可达到成千上万个核的集群.

2.高可用

  具备7*24h的正常运行能力,且具有完善的容错能力.

3.高性能

  毫秒级资源与负载调度管理.

4.海量历史数据

  海量报表与海量数据分析.

5.跨平台

  对于主流软硬件的支持能力.

6.易用性

   集群的管理简单有效.


二.大数据测试特点

a.数据的读增删改

   测试需对提供用户的所有的基本功能/接口进行测试,保证基本功能的正确.

b.分布式的部署方式

   对于大数据分析系统支持多种的部署方式,例如32/64位PC,不同的服务部署,配置测试,不同的数据分配策略测试等;

测试的硬件规模(百千台级别测试验证)和覆盖面(各种操作系统和硬件支持,性能,压力,可用性,安全性,浏览器,数据库等)也是大数据测试点.

c.高可扩展性

   分布式系统支持服务的热插拔,测试需根据本身系统的特性设计相应的扩展功能或测试用例;

例如增加/删除节点,需保证数据的完整性和一致性,不能影响数据的正确操作.

d.高可用性/高稳定性

   稳定性压力测试,保证各情况下服务的正常,增加异常的容灾用例,比如不同节点的异常及服务的关起等测试.

e.高性能

   测试需对系统进行性能测试和调优,根据不同大数据分析系统的特点设计相应的测试场景进行性能测试.


2017-02-07 17:28:41 henni_719 阅读数 2238
  • 微服务场景下的自动化测试

    测试人员在流程微服务中如何简单高效完成开发测试任务?讲师结合自身流程平台自动化测试实践的经验,梳理出在微服务架构的数字化企业云平台中,该如何完成流程微服务的自动化测试,并且提供高质量的上线保障。

    5126 人正在学习 去看看 CSDN讲师

大数据测试挑战

自动化

大数据的自动化测试需要有技术专长的人员。此外,自动化工具未配备处理测试期间出现的意外问题

虚拟化

它是测试的整体阶段之一。虚拟机延迟会在实时大数据测试中产生时序问题。在大数据中管理图像也是一个麻烦。

大数据集

需要验证更多的数据,需要更快的速度;需要自动化测试工作;需要能够跨不同平台进行测试。


大数据性能测试挑战

  多样化的技术:每个子组件属于不同的技术,需要孤立测试

  特定工具的不可用性:没有单个工具可以执行端到端测试。例如,NoSQL可能不适合消息队列

  测试脚本:需要为测试场景和测试用例设计高水的脚

  测试环境:由于数据量大,需要特殊的测试环境

  监控解决方案:存在可监控整个环境的有限解决方案

  诊断解决方案:需要定制解决方案来开发性能瓶颈区域


大数据测试总结

         随着数据工程和数据分析的进一步发展,大数据测试是不可避免的。大数据处理可以是批处理、实时或交互。

         测试大数据应用的3个阶段:数据分段验证、“MapReduce”验证、输出验证阶段。

         架构测试是大数据测试的重要阶段,因为设计不当可能会导致前所未有的错误和性能下降。

         大数据的性能测试包括验证:数据吞吐量、数据处理、子组件性能。

         大数据测试与传统数据测试在数据,基础设施和验证工具方面非常不同。

         大数据测试的挑战包括虚拟化,测试自动化和处理大型数据集。大数据应用程序的性能测试也是一个问题。

大数据测试平台环境搭建

博文 来自: weixin_41158277
没有更多推荐了,返回首页