性能测试—性能环境与数据

简介:
性能环境,也是困扰性能测试人员很重要的一个问题。如何模拟线上真实的环境?如何在测试环境进行的性能测试结果,能准确的反应到生产线上去?
  先聊下我们的做法。
  首先确认线上的网络拓扑图。比如:
  左边是线上环境,线上一般是分布式集群部署。比如用户访问服务器A,而服务器A需要依赖到服务器B和C提供的服务,而服务器C与DB存储打交道。那么在性 能测试环境,为了模拟用户的行为,需要搭建服务器A,B,C和DB各一台。通过对单台服务器A的压测结果TPS,再线性乘以机器数量,完成线上服务器A集 群的TPS的评估。
  这样做,简单的完成了线上和线下的结果推算。但是这样做,有一个前提:就是保证线上和性能测试环境的机器配置是一样的。机器的配置分为2个部分:硬件和软件。
  硬件方面,比如机器是4核4G的xen虚拟机,千兆网卡,SATA磁盘。
  软件方面,包括操作系统的版本,位数,比如:redhat 5.4,**位机器;JDK版本:openJDK 1.6.0;JVM参数配置;web容器:tomcat7.
  上面说的是应用层面,性能测试还有很重要的一步,就是性能测试数据的准备。
  性能测试数据库的环境也与应用层一样,保持和线上一样的硬件与软件配置。这里有个问题就是:生产线上一台数据库,对应多台应用。而在性能测试环境中,被我们映射成1:1的关系后,很难找到数据库层的性能瓶颈,因为在压测过程中,应用层会比数据层更快到达性能瓶颈。
  接下来,简单描述下性能测试数据的准备。性能测试数据的准备也分为2个部分。1是业务数据,2是基础数据。
  什么是业务数据?业务数据就是性能测试要模拟的用户拥有的数据。比如卖家A,有100个商品。100就是业务数据。基础数据就是商品所在表的总数据量。比如100W。
  性能测试的数据,不光要关注业务,更要关注数据库表的量级,因为100条数据,和100W条数据,性能测试出来完全是两个结果。
  为了数据的准确性,性能测试的数据表,也要满足生产线上表的量级。
  满足了这些条件,性能环境才能基本真实模拟生产线的环境,测试出来的结果才有推算上线后结果的可能。
  后记:
  每个公司的业务不同,系统架构也不同,所以性能测试环境方面肯定有很大的差异。我只是简单的写了我所在公司的性能环境的一些知识,分享给大家,供大家一个参考,希望你能从这里获得有用的东西。关于性能测试环境,我的一些观点:
  1. 如果允许生产线做性能测试,就尽量做生产线性能测试。同样的环境,性能测试的结果才有意义,性能测试的价值也最大体现。
  2. 测试环境的配置可以与线上一样,可以做下N:1的映射。结果线性乘以机器数,可以评估线上集群的负载。
  3. 真没条件,线上线下环境差异很大。就尽量找一些代码级别的性能瓶颈。优化后再上线,线下的结果就不用去推算线上,很不科学


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
6月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
579 120
|
7月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
7月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
266 0
|
10月前
|
人工智能 缓存 自然语言处理
别再手搓测试数据了!AE测试数据智造系统揭秘
本文介绍如何通过构建基于大语言模型的测试数据智造Agent,解决AliExpress跨境电商测试中数据构造复杂、低效的问题,推动测试效率提升与智能化转型。
别再手搓测试数据了!AE测试数据智造系统揭秘
|
11月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
286 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
9月前
|
机器学习/深度学习 存储 算法
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
本文系统研究了多智能体强化学习的算法性能与评估框架,选用井字棋和连珠四子作为基准环境,对比分析Q-learning、蒙特卡洛、Sarsa等表格方法在对抗场景中的表现。实验表明,表格方法在小规模状态空间(如井字棋)中可有效学习策略,但在大规模状态空间(如连珠四子)中因泛化能力不足而失效,揭示了向函数逼近技术演进的必要性。研究构建了标准化评估流程,明确了不同算法的适用边界,为理解强化学习的可扩展性问题提供了实证支持与理论参考。
438 0
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
936 11
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1897 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
259 11

热门文章

最新文章