测试开发|Tencent云测学习入门
交流记录
主要是基于IAAS的云上测评
1.性能分析,体系希望掌握的内容:
- linux基本操作
- python3,方便,排查,跑失败的时候。
- 计算机组成原理(CPU/内存/GPU/PCE/总线)
- 操作系统理论知识(进程、线程)之间的关系,通信,网络协议栈
- TCP/IP模型,对应协议和用处
- 云计算的概念
- 进阶(性能分析知识《性能之巅》)
2.什么是软件性能测评:
例如:下载软件的速度,网络。可靠性,资源拓展。。。
符合性能标准,包括但不限于压测
3.性能测试的重要性:
- 用户体验,
- 成本和容量(布置多少机器)评估
4.基准测试benchmark:
通过设计科学的测试方法、测试工具、测试系统,对一类测试指标进行定量,可对比测试。
具有以下几个性质:
相关性(基准应该衡量相对重要的标准),代表性,公平,重复性,成本效益,可拓展性(由低到高一系列系统),透明度(易于被理解)
- 业务基准:真实的业务场景表征性能
- 微基准:某个部分的性能。兼容好,方便简单操作,快速定位性能问题,多个微基准组合可以体现一类业务的性能。
5.云计算的意义:把服务器交给更可靠的人维护
- IAAS,基础测试托付
- PASS,提供开发平台,云函数
- SAAS开放框架下
6.云计算性能测评:
服务器硬件:
- GPU
- CPU
- 架构,arm,intel。x86
- 指令集
- 主频/基频、睿频
- 寄存器、tlb、cache
- apic(硬件方面,高级可编程中断器),网络中断收
- 总线,联网带宽
- 虚拟化过程(装箱策略,进程—绑在哪一个核儿上)
- 内存
- 网卡
- 存储
- 主板,南桥北桥,bios,总线等。
7.云计算性能测评关注点:
- CPU/内存
- 指令集性能
- 上下文切换/系统调用耗时…
- GPU
- P2P带宽
- 渲染性能
- 光追性能…
- 网络(VPC)
- 带宽、pps
- 内核网络协议栈数…
- 磁盘(本地盘/BS盘)
- 队列深度
- 块大小
- 稳定性…
8.常用工具:
Unixbench,mlc,stream,redis,fio,etcd,shoc,
问答环节
1.带宽要求大-----对大包影响大
可以直接io
2.网络访问:
DNS解析,请求对应的ip,服务器后端怎么反应。页面拿到文本数据,dump的解析,(前端页面的优化)
3.应用场景
web服务,大数据,机器学习(大规模几百个TB)
分部存储,控制面层,关注的是数据面,IAAS性能,
4.影响业务,应用程序特征化
机器学习-CPU,即时通讯-IO
Redis,ETCD
UDP主要看IO的吞吐量。
5.云服务替代桌面:
1.硬件的维护成本–>高性能计算领域,机器学习,专业渲染(GPU服务器)
2.高.宽带移动网络的普及5G-》云游戏云桌面
6.虚拟化的ubuntu上面写一个200MB的文件速度非常慢,可能是什么原因:
根据linux读写文件的逻辑,大概率是磁盘io的问题,看走哪个io口。
7.一些语言:
高性能:C,C++,GO,
python用户层接口,算法
8.具体的测试分析流程:
反馈优化,归因的流程,定位到哪一个点是瓶颈,网上找patch工具。
9.关于测试开发:
比较底层,要用的是偶又很有用。
操作系统和算法,底层原理。区别是否搬砖
关键性问题要解决,来自于平常的积累,为什么会有差异
多做笔记多思考。
多用谷歌搜索算法
实习生:
基础知识扎实、态度和好奇心,学习能力。
前端烂大街,但是厉害的人少。
服务器之间的集群。
10.评判分析报告的优劣:
- 1.数据的专业性
- 2.分析的方向
11.分析方案:
- 机型对标,同架构的。
- Centos企业服务比较是
- 集群的内部互联的带宽
- 测试数据,平均值,中位数,差值?统计学,方差等等综合看待,同时提供
12.其他:
sysbench,时钟源
stress-GNG,测试随机数
某一个case的实现流程
测内网宽带:两台
13.云溪大会,云计算
我的想法
- 我开始对于测试的概念并不是特别的深,总是迷茫与不知道要做什么,听完交流学习的会后,至少基于IAAS是偏向于硬件层面,而服务器其实就是高性能电脑,这跟研究一台电脑是否符合自己的性能似乎有异曲同工之妙,那么从这个入手点,至少让我对于测试做的事情更加明白了一点。
- 测试需要的知识面特别的广,对于硬件和一个功能实现的底层原理(基本原理)需要有理解。
- 测试的重要在于数据量,数据准确度,以及可以通过数据分析多少出来
- 高阶玩家除了跑bench工具以外,还可以自己做测试工具