APP性能测试的标准网!

APP性能测试的标准网

趋势迷

APP性能测试的标准

2024-06-30 14:36:01 来源:网络

APP性能测试的标准

性能测试的定义 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

APP性能测试的标准

性能测试的基本流程 性能测试的基本流程如下:
  1、性能需求分析。性能需求分析是整个性能测试工作开展的基础。
  2、性能测试计划。确定明确的需求之后,要做的工作就是制定性能测试计划。对性能测试过程中所有需要工作制定与规划。
  3、测试环境搭建。测试环境搭建,分硬件环境与软件环境,硬件环境主要是向上级审批硬件配备,在某些大型性能测试,可能需要公司购置或租用硬件设备来进行。或者是将来原有设置进行调配与重组,这个时候就需要网络工程师的参与或协助。
  4、性能工具的引入。走到这一步才需要引入性能测试工具,在日常的工作中往往是先选定好测试工具然后再分析需求,制定计划进行测试。这样在做性能需求分析的时候往往会往往会考虑所选的工具是否能实现,无法实现可能就放弃这个需求或改变这个需求。这样以某一工具为基础点做出的性能测试结果可能是不准确的。
  5、测试的执行。测试的执行是大范围的内容。
  6、测试结果的分析。对于性能测试结果的分析,这个需要性能测试工程师对整个被测环境的各种软硬件都要有深入的了解。
  7、软件硬件配置调整与优化。

软件性能测试的指标有哪些 软件性能测试的指标有哪些?下面就一起了解一下:
软件性能测试的指标包括响应时间、吞吐量、并发用户数、TPS等。
1、响应时间,响应时间是指系统对请求作出响应的时间,这个时间是指用户从软件客户端发出请求到用户接收到返回数据的整个过程所需要的时间,包括各种中间件的处理时间。
2、吞吐量是指单位时间内系统能够完成的工作量,它衡量的是软件系统服务器的处理能力。
3、并发用户数是指同一时间请求和访问的用户数量,并发用户数量越大,对系统的性能影响越大,并发用户数量较大可能会导致系统响应变慢、系统不稳定等。
4、TPS是指系统每秒钟能够处理的事务和交易的数量,它是衡量系统处理能力的重要指标。

以上就是关于软件性能测试的分享了,希望能帮到大家。

PerconaThreadPool性能基准测试 MySQL从5.5.16开始,在MySQL的商业化版本中将Thread Pool作为plugin提供官方功能支持。后来MariaDB也实现了这一功能,Percona也跟进实现了。从这几天对Percona 5.6.16版本做了下thread pool对比测试,试图找到较为合适的配置参数。 下面是几个测试模式对比:
MySQL从5.5.16开始,在MySQL的商业化版本中将Thread Pool作为plugin提供官方功能支持。后来MariaDB也实现了这一功能,Percona也跟进实现了。从这几天对Percona 5.6.16版本做了下thread pool对比测试,试图找到较为合适的配置参数。
下面是几个测试模式对比:
模式 配置参数
Percona 5.6.16-nothp 未开启 thread pool 模式
CASE0-thp(128)-oversub(16)-max(2048) thread_handling = pool-of-threads thread_pool_size = 128 thread_pool_oversubscribe = 16 thread_pool_max_threads = 2048
CASE1-thp(default) thread_handling = pool-of-threads 其他默认设置
CASE2-thp(default)-oversub(10) thread_handling = pool-of-threads thread_pool_oversubscribe = 10 其他默认设置
CASE3-thp(default)-oversub(10)-max(10000) thread_handling = pool-of-threads thread_pool_oversubscribe = 10 thread_pool_max_threads = 100000 其他默认设置
CASE4-thp(default)-oversub(16) thread_handling = pool-of-threads thread_pool_oversubscribe = 16 其他默认设置
CASE5-thp(128)-oversub(16)-max(100000) thread_handling = pool-of-threads thread_pool_size = 128 thread_pool_oversubscribe = 16 thread_pool_max_threads = 100000
仍然采用tpcc-mysql这个测试工具,基准值:
测试Warehouse数: 100
warmup time: 60s
run time: 1200s
并发线程数: 64 ~ 1920
测试环境信息:
测试机 DELL PE R710
CPU E5620 @ 2.40GHz(4 core, 8 threads, L3 Cache 12 MB) * 2
内存 32G(4G * 8)
RAID卡 PERC H700 Integrated, 512MB, BBU, 12.10.1-0001
系统 Red Hat Enterprise Linux Server release 6.4 (Santiago)
内核 2.6.32-358.el6.x86_64 #1 SMP
raid级别 raid 0
文件系统 xfs
硬盘 SSD: Intel 520系列SSD, 800G * 1
Percona版本号:5.6.16-64.2-rel64.2-log Percona Server with XtraDB (GPL), Release rel64.2, Revision 569,Percona相关的关键配置有:
innodb_buffer_pool_size = 26G
innodb_flush_log_at_trx_commit = 1
测试脚本可参考:MySQL压力测试经验
测试结果见下:

针对这个测试结果,我们可以得到一些结论:
1、通常地,只需要开启 pool-of-threads 模式就可以;
2、可以根据实际压力情况,适当调整 thread_pool_oversubscribe 选项以提升 TPS,这个选项值设置范围一般在 3~20;
3、thread-pool-size默认值是逻辑CPU个数,最大值是 128,不建议调整或显式设置,如果显式设定 thread-pool-size 的值,可能会带来反效果;
4、thread_pool_max_threads 默认值是 100000,强烈不建议修改。
综上,对于Thread Pool,我们一般建议设置下面2个选项就足够了:
thread_handling = pool-of-threads
thread_pool_oversubscribe = 10 #这个值建议在3~20间,不清楚的话,无需设置
备注:启用Thread Pool后,想要终止某个查询的话,要这么写KILL QUERY connection_id,,而不是写成 KILLconnection_id,否则就会导致整个连接被KILL。
如果还有什么问题,欢迎加入我的QQ群(272675472)讨论。

PerconaThreadPool性能基准测试_MySQL MySQL从5.5.16开始,在MySQL的商业化版本中将Thread Pool作为plugin提供官方功能支持。后来MariaDB也实现了这一功能,Percona也跟进实现了。从这几天对Percona 5.6.16版本做了下thread pool对比测试,试图找到较为合适的配置参数。
下面是几个测试模式对比:
仍然采用tpcc-mysql这个测试工具,基准值:
测试环境信息:
Percona版本号:5.6.16-64.2-rel64.2-log Percona Server with XtraDB (GPL), Release rel64.2, Revision 569,Percona相关的关键配置有:
测试脚本可参考:MySQL压力测试经验
测试结果见下:

针对这个测试结果,我们可以得到一些结论:
综上,对于Thread Pool,我们一般建议设置下面2个选项就足够了:
备注:启用Thread Pool后,想要终止某个查询的话,要这么写KILL QUERY connection_id,而不是写成 KILL connection_id,否则就会导致整个连接被KILL。
如果还有什么问题,欢迎加入我的QQ群( 272675472 )讨论。