当前位置: 首页 > news >正文

Mercury性能测试模板


xxxxxxxxxx
性能测试报告

 
                                                                  2023年11月8日
 


    目  录    
1 前言    1
1第一章XXXXXXXX核心业务系统性能测试概述    1
1.1 被测系统定义    1
1.1.1 功能简介    1
1.1.2 性能测试指标    2
1.2 系统结构及流程    2
1.2.1 系统总体结构    2
1.2.2 功能模块描述    3
1.2.3 业务流程    4
1.2.4 系统的关键点描述(KP)    5
1.3 性能测试环境    5
1.3.1 硬件及网络环境    5
1.3.2 系统装配描述    6
1.3.3 系统启动和管理    6
2 第二章 性能测试    6
2.1 压力测试    6
2.1.1 压力测试概述    7
2.1.2 测试目的    7
2.1.3 测试方法及测试用例    7
2.1.4 测试指标及期望    9
2.1.5 测试数据准备    10
2.1.6 运行状况记录    11
3第三章 测试计划及方案    11
2.2 测试步骤    12
2.2.1 被测系统调研    12
2.2.2 测试环境的部署    13
2.2.3 脚本的录制和调试    13
2.2.4 准备测试场景    14
2.2.5 准备测试数据    14
2.2.6 执行性能测试    14
2.2.7 生成测试报告    15
2.3 测试时间进度及人员安排    15
2.3.1 人员安排    15
3 第四章 测试报告    16

                                                                    
 
1 前言

目前,XXXX的XXXXXXXX核心业务系统(以下简称新业务系统)已先后在XXXX、成功上线,从而公司的XXXX信息管理逐步走上了集中管控的道路。后续,xxx等34家分公司的XXXX信息也将分布进入业务系统,从而将会势必出现新业务系统中信息大量增长的态势。
随着新业务系统在生产状态下日趋稳定、成熟,系统的性能问题也逐步成为了我们关注的焦点:XXXX大数据量的“冲击”,在XXXX信息进入时,系统能稳定在什么样的性能水平,面临公司业务冲刺时,系统能否经受住“考验”,这些问题需要通过一个完整的性能测试来给出答案。
本《性能测试规划书》即是基于上述考虑,参考科学的性能测试方法而撰写的,用以指导即将进行的XXXXXXXX核心业务系统的性能测试。

1第一章xxxx系统性能测试概述  

 1.1 被测系统定义

xxxx业务系统作为本次测试的被测系统(注:以下所有针对被测系统地描述均为针对XXXXXXXX核心业务系统进行的),该业务系统的主要功能包括:xxxxx
在本次测试中,将针对上述的功能进行压力测试,检查并评估在模拟环境中,系统对负载的承受能力,在不同的用户连接情况下,系统地吞吐能力和响应能力,以及在预计的数据容量中,系统能够容忍的最大用户数,
1.1.1 功能简介
xxxxxx
主要功能如下:
    xxx
    xxxxx
    
1.1.2 性能测试指标
本次测试是针对XXXXXXXX核心业务系统的性能特征和系统的性能调优而进行的,主要需要获得如下的测试指标。
1、系统的响应能力:即在各种负载压力情况下,系统的响应时间,也就是从客户端交易发起,到服务器端交易应答返回所需要的时间,包括网络传输时间和服务器处理时间。
2、应用系统的吞吐率:即应用系统在单位时间内完成的交易量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的交易数量。
3、应用系统的负载能力:即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。

1.2 系统结构及流程

xxxx业务系统在实际生产中的体系结构跟本次性能测试所采用的体系结构是一样的,交易流程也完全一致的。不过,由于硬件条件的限制,本次性能测试的硬件平台跟实际生产环境略有不同。


1.2.1 系统总体结构

描述本系统的总体结构,包括:硬件组织体系结构、网络组织体系结构、软件组织体系结构和功能模块的组织体系结构。   

1.2.2 功能模块

本次性能测试中各类交易都是由若干功能模块组成的,每个交易都根据其执行特点分成了若干操作步骤,每个步骤就是一个功能点(即功能模块),在xxx业务系统中,各种交易及其包含的功能模块关系如下:
1.    xxx
2.    xxxx
3.    xxxx

本次压力测试主要设计的功能模块以及所属的路径如下表
        

名称

所属交易

路径

    

1.2.3 业务流程

本次性能测试中,选择的各类交易的业务流程如下:
1.xxxxxx

2.xxxxxxx


3.xxxxxx:


4.xxx:


5.xxxxx


6.xxxx


查询交易的业务流程只是单一步骤的,即:输入查询条件后获取查询结果,因此在本次性能测试中只作为一个事物处理,交易流程图略。

1.2.4 关键点描述(KP)

本次性能测试的关键点,就是查看xxxx业务系统在并发压力下的表现,即:支持的并发用户数目和并发用户发送频率,以及在较大压力下,系统的交易处理能力,并找出各类交易的性能瓶颈。


1.3  性能测试环境

本次性能测试环境与真实运行环境基本一致,都运行在同样的硬件和网络环境中,数据库是真实环境数据库的一个复制(或缩小),本系统采用标准的CS结构,客户端都是通过浏览器访问应用系统。
   其中具体的硬件和网络环境如下:
    服务器设备:IBM 570(DBserver), IBM 690(APserver)
    操作系统: AIX
    网络环境: LAN(10M)
    数据库:Oracle 
    客户端: PC (Windows )
网络拓扑和结构图如下:


2 第二章 性能测试

从广泛意义上讲性能测试包括:压力测试、稳定性测试、负载能力测试和可扩展性测试等。在不同应用系统的性能测试中,需要根据应用系统的特点和测试目的的不同来选择具体的测试方案,本次XXXXXXXX核心业务系统的性能测试主要是采用通常的压力测试模式来执行的,即:逐步增加压力,查看应用系统在各种压力状况小的性能表现。
在本次性能测试中,也将使用美科利的新产品性能测试诊断工具(Diagnostic)对测试应用的各层进行监控,判断J2EE各层次的各类方法和类的调用使用时间和效率,并帮助开发人员分析J2EE应用的各类交易的性能瓶颈点。


2.1 压力测试

在性能测试中,压力测试主要是为了获取系统在较大压力状况下的性能表现而设计并实现的,压力测试主要是获取系统的性能瓶颈和系统的最大吞吐率。


2.1.1 压力测试概述

本次压力测试是指针对现行的xxx核心业务系统的联机交易处理能力的测试,检验系统的吞吐率。本系统的压力测试主要是针对xxxxx,检查在日间交易高峰时期,并发用户数较多的时候的处理能力等等。

2.1.2 测试目的

压力测试的目的就是检验系统的最大吞吐量,检验现行的xxxx业务系统在各种压力交易量下的运行状况,检验系统地运行瓶颈,获取系统的处理能力等等。
本次针对xxxx核心业务系统所进行的压力测试的测试目的为:
    给出xxxx系统当前的性能状况
    定位新业务系统性能瓶颈或潜在性能瓶颈
    总结一套合理的、可操作的、适合公司现实情况的性能测试方案,为后续的性能测试工作提供基本思路。

2.1.3 测试方法及测试用例

使用美科利公司(Mercury)的性能测试软件LoadRunner,对现行的xxxx业务系统进行脚本录制、测试回放、逐步加压和跟踪记录。测试过程中,由LoadRunner的管理平台调用各台测试前台,发起各种组合的交易请求,并跟踪记录服务器端的运行情况和返回给客户端的运行结果。
使用的测试用例包括:联机处理交易和查询交易,其中联机交易测试试用的交易包括:xxxx查询类交易包括:xxxx
测试用例列表包括:

交易种类

案例一

案例二

案例三

案例四

30%

40%

25%

10%

10%

10%

25%

0%

20%

10%

15%

0%

20%

20%

15%

10%

本次测试将依照如下场景进行测试:

    用户数

功能模块

业务操作

交易配比(%)

200

400

700

1000

0

0

0

0

0

2

4

10

17

24

5

10

21

36

52

7

13

27

47

67

5

11

21

37

53

5

10

21

37

52

7

14

29

51

72

5

10

19

34

48

11

22

45

78

112

14

28

56

98

140

6

12

24

41

59

5

11

22

38

55

6

13

26

45

64

20

40

80

141

201

针对每个测试案例,都将采用逐步加压和瞬间加压两种客户端连接方式进行,查看服务器端在客户端的连接数量变化过程中对应的处理能力,测试运行安排如下:
•    每隔2秒增加1个用户连接,最多增加到200个用户,查看并记录运行情况
•    每隔2秒增加2个用户连接,最多增加到200个用户,查看并记录运行情况
•    一次性连接10个用户,查看记录运行情况
•    一次性连接100个用户,查看记录运行情况


2.1.4 测试指标及期望

在本次性能测试中,各类测试指标包括测试中应该达到的某些性能指标,这些性能指标均是来自应用系统设计开发时遵循的业务需求,当某个测试的某一类指标已经超出了业务需求的要求范围,则测试已经达到目的,即可终止压力测试。


2.1.4.1 应用软件级别的测试指标:

1) 联机交易类的执行情况
    交易的平均响应时间(期望值:<15s)
    交易的最大响应时间(期望值:<30s)
    平均每秒处理交易数量(分别记录单位时间内成功、失败和停止的交易数量)
    交易成功率 (期望值:>95%)
    不同并发用户数的状况下的上述记录值
2)测试结果分析情况
    单笔记录的处理时间(期望值:<15s)
    单位时间内的处理交易笔数(期望值:>10个)
    某个时间段内的交易处理数量 
    单笔能处理的最大数据量
    在每个交易处理中最大(最耗时)的模块
    在不同数量的测试数据基础上的上述记录值

2.1.4.2 网络级别的测试指标:

    吞吐量:单位时间内网络传输数据量
    冲突率:在以太网上监测到的每秒冲突数


2.1.4.3 操作系统级别的测试指标:

    进程/线程交换率:进程和线程之间每秒交换次数 
    CPU利用率:即CPU占用率(%)
    系统CPU利用率:系统的CPU占用率(%) 
    用户CPU利用率:用户模式下的CPU占用率(%) 
    磁盘交换率:磁盘交换速率 
    中断速率:CPU每秒处理的中断数 
    读入内存页速率:物理内存中每秒读入内存页的数目 
    写出内存页速率:每秒从物理内存中写到页文件中的内存页数目或者从物理内存中删掉的内存页数目 
    内存页交换速率:每秒写入内存页和从物理内存中读出页的个数 
    进程入交换率:交换区输入的进程数目 
    进程出交换率:交换区输出的进程数目 

2.1.4.4 数据库级别的测试指标:

    数据库的并发连接数:客户端的最大连接数
    数据库锁资源的使用数量

2.1.5 测试数据准备

2.1.5.1 案例数据:满负荷压力

根据测试系统的硬件条件,选择满负荷的压力,在系统的资源使用基本维持在90%左右的状况下,测试xxx核心业务系统的处理能力。
数据准备工作包括:
1.    xxxxx

2.1.6 运行状况记录

记录可扩展性测试中的测试结果及其系统的运行状况。除了记录测试指标以外,应该结合测试实时记录系统各个层次的资源和参数。主要包括:
    硬件环境资源
    服务器操作系统参数
    网络相关参数
    数据库相关参数:具体数据库参数有所不同,结合各个数据库独有的特点记录

3 第三章 测试过程及结果描述

xxxx务系统的性能测试共计执行了2次,两次执行的脚本流程作了调整,其他的环境和数据都一样。在测试数据准备完备以后,第一次测试中,操作流程为每次交易都执行用户登录操作,第二次测试中,操作流程为先进行用户登录,然后每次交易都不再执行用户登录。


3.1 测试描述

两次测试都是在12月22日凌晨进行的。
第一次测试执行了30分钟左右,执行脚本都是采用每次交易都执行登录操作,测试过程中,交易的执行速度随着测试的进行,越来越慢,交易的响应时间越来越长,交易出错(超时)情况也越来越严重,交易在执行到30分钟左右,用户登录交易开始大量失败(超时)并导致后续的交易都无法完成,于是终止本次测试。
第二次测试执行了50分钟左右,在第一次测试的基础上,调整交易流程,让每次交易都只登录一次,然后顺序执行交易逻辑。测试开始初期,交易的响应时间随着交易并发量的增加而快速增加,在测试执行了10分钟左右,所有的用户登录操作都基本完成,此后交易响应时间开始减少,并比较平稳的执行,绝大部分交易执行比较平稳成功率也很高,除了两个交易:xxx(Audit_Transaction)和 xxx(ClaimRegister_Transaction),这两个交易的执行速度特别慢,交易相应时间一直都维持在190秒左右和160秒左右,这两个交易超时现象严重,交易成功率很低,很多交易都因为超时而失败。

3.2 测试场景

测试中,使用逐步加压的模式,采用:每隔2秒启动1个并发用户(Vuser)的方式,即:每隔1秒,启动1个Vuser,在7分钟左右启动所有的Vuser(200个),执行登录,并根据设置的时间间隔发起交易。
这次测试都部署在如下的场景中。
运行的脚本部署在3台PC机,主要目的就是检查在较大压力的情况下,xxxxx心业务系统的性能表现。
    选择了2台PC,每台PC机部署了70个左右并发用户,
    选择1台PC,部署60个左右的并发用户,并运行LoadRunner的控制器(Controller)

3.3 测试结果

两次测试AP服务器主机上的CPU利用率如下:
 
可以看出在两次测试执行中第一次(1:52 – 2:20)测试过程中CPU的利用率都几乎达到了100%,第二次测试中(2:45- 4:00)CPU的利用率也达到了95%以上。

两次测试在数据库(Oracle)服务器上主机上的CPU利用率如下:
 
可以看出两次测试执行中第一次(1:52 – 2:20)测试过程中CPU的利用率很低,第二次测试中(2:45- 4:00)CPU的利用率较高也达到了75%以上,但两次测试的CPU的IO等待时间却都比较高,IO和CPU利用率对照表如下:
 
可以看出两次测试执行中第一次(1:52 – 2:20)测试过程中CPU的IO等待率较低,因为大多数的交易都是用户登录,都压在AP服务器上了,第二次测试中(2:45- 4:00)CPU的IO等待率较高,都达到了80%以上。

两次测试的网络压力并不大,网络流量如下:

                                                  AP服务器监控的网络流量

                                                 DB服务器上监控的网络流量
从图中可以看出,在10M的局域网中,网络流量并不大。


3.3.1 第一次测试

第一次测试使用了200个并发用户,并发用户的启动信息如下:

各类交易的交易相应时间 (秒)

Color

Scale

交易名称

最小

平均

最大

1

AutoUW_Transaction

0.0

23.733

87.871

1

Confirm_Transaction

210.203

210.203

210.203

1

CTDetail_Transaction

105.878

151.032

199.477

1

EdorNoscanAppInput_Transaction

60.704

153.425

259.234

1

GeneralQuery_Transaction

0.067

13.623

39.094

1

IndividualQuery_Transaction

0.781

28.042

64.984

1

Issue_Transaction

5.145

30.6

60.22

1

Login_Transaction

4.265

115.433

246.736

1

ManualUW_Transaction

77.094

77.094

77.094

1

NBQuery_Transaction

0.334

22.348

49.625

1

PayIn_Transaction

1.503

59.944

112.639

1

PayOut_Transaction

5.256

29.178

60.279

1

PayOutQuery_Transaction

0.078

1.291

6.872

1

PEdorTypeAC_Transaction

111.253

160.054

213.544

1

PosNoScanApp_Transaction

9.254

158.276

271.381

1

POSQuery_Transaction

29.602

122.815

212.93

1

PrtNoInput_Transaction

1.722

146.879

263.094

1

Relogin_Transaction

30.16

70.939

105.24

1

ReportInput_Transaction

1.155

101.387

184.783

1

Review_Transaction

5.091

112.682

387.087

1

RiskInput_Transaction

2.821

113.049

211.427

1

vuser_end_Transaction

0.0

0.0

0.0

1

vuser_init_Transaction

0.0

0.158

2.417

1

2.084

112.373

267.659

1

0.278

6.312

15.394

1

3.75

13.56

25.925

1

0.22

6.243

15.939

1

8.531

109.639

210.746

1

1.281

8.553

15.474

1

0.093

19.469

59.271

各类交易的平均响应时间图:

 
可以看出随着测试的进行,交易相应时间逐渐增大,最终导致交易超时而失败。


测试中,每秒的点击率如下:

测试中每秒页面的下载速度如下:

根据上面两组数据,即:每秒的点击率和每秒下载页面的速度,可以看出,在测试执行开始4分钟以后,核心业务系统用户登录的并发数量不断在增加,但是用户登录后的数据下载量却变化不大,这样将最终导致大量的用户登录因为交易处理超时而失败。


3.3.2 第二次测试

第二次测试调整了交易处理逻辑,大大减少了用户登录的操作数目,每个用户只执行一次用户登录,然后执行对应的交易处理,交易过程中不再执行用户登录操作。
运行的并发用户数目如下图:

在用户登录过程中,交易的平均响应时间如下图:
 
从图中可以看出,随着并发用户数量的不断增加,所有的交易的平均响应时间都在加大,直到并发用户数不再增加,这时候所有的交易相应时间下降到一定的数值,并一直稳定在这个数值左右。
在第二次测试中,各类交易的平均响应时间如下表:(单位:秒)

Color

Scale

交易

最小

平均

最大

1

Audit_Transaction

19.481

162.12

207.627

1

AutoUW_Transaction

0.0

13.001

49.494

1

ClaimRegister_Transaction

75.599

143.641

163.978

1

Confirm_Transaction

1.131

51.427

94.585

1

CTDetail_Transaction

37.257

65.967

148.334

1

EdorNoscanAppInput_Transaction

16.504

79.919

169.239

1

EndCase_Transaction

11.88

46.546

85.658

1

GeneralQuery_Transaction

0.152

11.017

35.321

1

IndividualQuery_Transaction

0.875

14.455

40.578

1

Issue_Transaction

4.269

14.326

30.496

1

Login_Transaction

8.363

90.998

151.344

1

ManualUW_Transaction

3.262

81.311

171.284

1

NBQuery_Transaction

0.422

12.082

36.297

1

PayIn_Transaction

0.559

32.012

74.462

1

PayOut_Transaction

2.204

11.121

32.397

1

PayOutQuery_Transaction

0.079

1.255

5.328

1

PEdorTypeAC_Transaction

37.384

66.606

137.382

1

PosNoScanApp_Transaction

15.892

85.482

164.156

1

POSQuery_Transaction

10.193

57.825

132.677

1

PrtNoInput_Transaction

5.162

77.07

164.458

1

Relogin_Transaction

16.103

61.116

74.896

1

ReportInput_Transaction

4.88

66.869

138.372

1

Review_Transaction

8.67

61.846

302.131

1

RiskInput_Transaction

9.317

49.871

123.788

1

vuser_end_Transaction

0.0

0.0

0.016

1

vuser_init_Transaction

0.0

0.0

0.008

1

7.792

54.317

183.409

1

0.694

2.419

8.553

1

1.481

7.267

24.725

1

0.777

2.532

6.638

1

8.971

72.21

145.923

1

1.384

3.977

11.539

1

0.296

7.433

28.666

交易相应时间时序图如小:

 
图中最上方的两条曲线(即交易相应时间最慢的)分别是:xxx (Audit_Transaction) 和 xxx(ClaimRegister_Transaction),除了这两类交易,其他各类交易都是在测试初期执行较慢,随着用户登录完成以后,各类交易的平均响应时间都稳定在对应的数值上,并都保持在90秒以内。

测试中每秒的点击率如下:
 
途中,从20分钟开始到35分钟,点击率下降的原因是部分查询交易循环600次已经成功结束,在35分钟左右重新启动,所有出现了途中点击率下滑的现象。
下面的几幅图中,数据线下滑的原因相同。

交易的吞吐率(每秒处理数据量)如下图:


 
其中数据线下滑的原因同上。


4第四章 测试报告

在xxxxx核心业务系统的性能测试过程中,将分别撰写测试计划和性能测试报告,其中测试计划将在测试开始之前完成,用以指导测试、并做好各个阶段的计划和任务分配工作,在测试结束之后,根据测试结果,将生成测试报告。
两份对应的文档名称如下:
    《性能测试计划书》
    《性能测试报告》


 

相关文章:

Mercury性能测试模板

xxxxxxxxxx 性能测试报告 2023年11月8日 目 录 1 前言 1 1第一章XXXXXXXX核心业务系统性能测试概述 1 1.1 被测系统定义 1 1.1.1 功能简介 1 1.1.2 性能测试指标 2 1.2 系统结构及流程 2 1.2.1 系统总体结构 2 1.2.2 功能模块描述 3 1.2.3 业务…...

ts面试题总结

文章目录 前言ts和js的区别&#xff1f;什么是Typescript的方法重载&#xff1f;Typescript中never 和 void 的区别&#xff1f;typescript 中的 is 关键字有什么用&#xff1f;TypeScript支持的访问修饰符有哪些&#xff1f;如何定义一个数组&#xff0c;它的元素可能是字符串…...

访问控制列表

目录 ACL ACL原理 ACL包过滤方式 ACL通用命令 查看ACL表命令 删除整张表命令 接口配置ACL ACL分类 标准ACL 标准ACL的动作与条件 通配符掩码 扩展ACL 扩展ACL的动作与条件 命名ACL 前言 书写方式 ACL 含义&#xff1a;访问控制列表&#xff0c;其是一种包过滤…...

java入坑之类加载器

一、类加载机制 1.1类加载过程 类加载是Java虚拟机将类的字节码数据从磁盘或网络中读入内存&#xff0c;并转换成在JVM中可以被执行的Java类型的过程。类加载器是Java虚拟机的重要组成部分&#xff0c;负责加载和解析类的字节码&#xff0c;将其转换成Java虚拟机中的类对象&am…...

登录Tomcat控制台,账号密码输入正确但点击登录没反应不跳转到控制台页面

在tomcat-users.xml里面可以查看登录tomcat控制台的账号密码&#xff0c;如果账号密码输入正确还是登录不进去&#xff0c;则很有可能是tomcat的账号被锁了&#xff08;可在catalina.xxx.log里面查看&#xff09;。tomcat账号被锁定后默认情况是不访问控制台后5分钟自动解锁&am…...

[黑马程序员Pandas教程]——Pandas缺失值处理

目录&#xff1a; 学习目标空值和缺失值查看缺失值 加载数据并通过info函数初步查看缺失值情况df.isnull().sum()空值数量统计Missingno库对缺失值的情况进行可视化探查 安装missingno库missingno.bar(df)缺失值数量可视化missingno.matrix(df)缺失值位置的可视化missingno.he…...

Mysql进阶-视图篇

介绍 视图&#xff08;View&#xff09;是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&#xff0c;行和列数据来自定义视图的查询中使用的表&#xff0c;并且是在使用视图时动态生成的。 通俗的讲&#xff0c;视图只保存了查询的SQL逻辑&#xff0c;不保存查询结果。…...

一种libuv实现websockets服务的解决方案

方法是libuv用多事件循环来驱动。说起来容易&#xff0c;做起来还是比下面的方法更容易&#xff1a; 上图是某位网友的方法代表子大部分网络资料。此方法对部署不友好&#xff0c;因为软件仓库提供的libwebsockets是不能用了。如何简化部署&#xff0c;利用好现有的软件仓库呢&…...

MobaXterm配置SSHTunnel

本地与远程服务器之间存在防火墙&#xff0c;防火墙只允许SSH端口通过&#xff0c;为访问远程服务器&#xff0c;我们可以借助MobaXterm来与SSH服务器建立隧道&#xff0c;使得防火墙外的用户能够访问远程服务器 配置 打开SSHTunnel 新建SSH tunnel 点击开启就生效了&…...

MySQL中的datetime和timestamp有什么区别

相同点: 存储格式相同 datetime和timestamp两者的时间格式都是YYYY-MM-DD HH:MM:SS 不同点: 存储范围不同. datetime的范围是1000-01-01到9999-12-31. 而timestamp是从1970-01-01到2038-01-19, 即后者的时间范围很小. 与时区关系. datetime是存储服务器当前的时区. 而timesta…...

如何开发一个求职招聘小程序?详细步骤解析与教程

一、确定需求和功能 在开发求职招聘小程序之前&#xff0c;需要明确需求和功能。通过对市场和用户需求的调研和分析&#xff0c;确定小程序需要具备哪些功能&#xff0c;如职位发布、简历投递、在线沟通、面试安排等。 二、选择开发方式 求职招聘小程序的开发方式有多种选择…...

安克创新音频算法工程师(应届生)招聘

职位描述&#xff1a; 负责音频处理算法的研发和优化&#xff0c;包括但不限于噪声抑制、回声消除、声反馈抑制、音效、声纹、唤醒、指令词识别等。 持续跟进国际前沿技术方向&#xff0c;预研端侧可落地的音频技术&#xff0c;打造技术影响力。 对音频处理系统进行模拟和实验…...

Ubuntu 22.04.3 LTS中安装singularity

文章目录 概要背景知识什么是singularity ? 安装流程1. 安装Go2. 下载Singularity3. 编译Singularity源代码 4. 验证安装是否成功singularity的使用安装open structure 小结 概要 这里主要记录singularity的安装和使用&#xff0c;安装过程中会出现相关的错误&#xff0c;所以…...

NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景 windows11 node版本降低到v12.22.12后&#xff0c;执行&#xff1a;nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果 包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 …...

路由器基础(十一):ACL 配置

访问控制列表 (Access Control List,ACL) 是目前使用最多的访问控制实现技术。访问控制列表是路由器接口的指令列表&#xff0c;用来控制端口进出的数据包。ACL适用于所有的被路由协议&#xff0c;如IP、IPX、AppleTalk 等。访问控制列表可以分为基本访问控制列表和高级访问控制…...

【今日文章】:如何用css 实现星空效果

【今日文章】&#xff1a;如何用css 实现星空效果 需求实现tips: 需求 用CSS 实现星空效果的需求&#xff1a; 屏幕上有“星星”&#xff0c;且向上移动。移动的时候&#xff0c;动画效果要连贯&#xff0c;不能出现闪一下的样子。 实现 这里我们需要知道&#xff0c;“星星”是…...

HackTheBox-Starting Point--Tier 1---Three

文章目录 一 题目二 实验过程 一 题目 Tags Web、Cloud、Custom Applications、AWS、AWS、Reconnaissance、Web Site Structure Discovery、Bucket Enumeration、Arbitrary File Upload、Anonymous/Guest Access译文&#xff1a;Web、云、定制应用程序、AWS、AWS、侦察、网站…...

Linux Alsa声卡驱动(2):Machine驱动

一:Simple Card Simple Card是ASoC通用的machine driver,可支持大部分标准声卡。 驱动:kernel/sound/soc/generic/simple-card.c compatible = "simple-audio-card"; 1、设备树属性 (1)协议 属性协议格式描述simple-audio-card,format i2si2s标准格式right_j…...

某综合性能源集团绩效考核设计项目纪实

——设置分层分类的考核指标、建立多维度评价体系&#xff0c;增加考核结果信服力 【客户行业】能源行业 【问题类型】薪酬管理 【客户背景】 某综合性能源跨国集团是一家专注于能源加工行业的民营跨国企业&#xff0c;业务覆盖能源工程建设、高端装备制造、能源勘探开发、专…...

ubuntu18.04 通过创建服务实现开机自启, 启动指定脚本

下面是具体的操作过程 切换目录到root cd /root/ 新建一个脚本 vi myscript.sh 添加内容&#xff1a;设置指定网卡的ip地址 (这里根据自己需要修改) #!/bin/bash ifconfig enp0s3 10.20.60.113 赋予执行权限 chmod x myscript.sh 新建一个服务 vi /etc/systemd/system/myscr…...

Tomcat 9.0.x 源码编译

文章目录 一、克隆源码二、构建 Maven1&#xff09;在项目根目录中新建 pom.xml 文件2&#xff09;然后 Add Maven Projects 三、在目录中增加 home 目录四、增加启动配置五、其它问题1&#xff09;控制台乱码解决 2&#xff09;启动后访问 localhost:8080 报错解决 一、克隆源…...

基于SSM的旅游管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

多目标优化中的“latent action”是什么?

2020 NeurIPS 中的“latent action”&#xff1a; Our model defines latent action as a boundary that splits the region represented by a node into a high-performing and a low performing region. 这里的latent action代表一个边界&#xff08;分类器&#xff09;&…...

上海亚商投顾:三大指数小幅下跌 CPO、算力板块集体爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指早间低开后震荡&#xff0c;午后一度拉升翻红&#xff0c;创业板指盘中跌近1%&#xff0c;随后探底回升跌…...

【C语法学习】19 -关闭和刷新文件

文章目录 1 关闭文件1.1 fclose()函数1.1.1 函数原型1.1.2 参数1.1.3 返回值 1.2 fcloseall()函数1.2.1 函数原型1.2.2 参数1.2.3 返回值 2 刷新文件2.1 缓冲区的概念2.2 缓冲区的刷新2.2.1 fflush()函数2.2.1.1 函数原型2.2.1.2 参数2.2.1.3 返回值 2.2.2 flushall()函数2.2.2…...

制作吉他谱软件Guitar Pro8中文版本

前面提到了使用Guitar Pro制作吉他谱的步骤&#xff0c;除此以外&#xff0c;在最新的Guitar Pro 8版本中&#xff0c;还新增了制作简谱的功能。 在窗口右侧的乐谱中&#xff0c;选择简谱按钮&#xff0c;可以打开乐谱的简谱编辑模式。 Guitar Pro-Guitar Pro 8 win-安装包ht…...

SpringBoot整合JUnit

1.创建新项目 说明&#xff1a;创建springboot_04_junit项目&#xff0c;选择对应的版本。 2.接口类 说明&#xff1a;新建BookDao接口。 package com.forever.dao;public interface BookDao {public void save(); }3.实现类 说明&#xff1a; 新建BookDaoImpl实现类。 pa…...

华为取消6000万订单影响在扩大,高通嘴硬强调不受影响

高通公布了2023年第三季度的业绩&#xff0c;业绩显示营收下滑24%&#xff0c;净利润下滑36%&#xff0c;不过高通强调预计今年四季度业绩将回升&#xff0c;意思是说华为取消订单带来的影响较小。 一、高通处境不利已延续4年时间 2019年美国对华为采取措施&#xff0c;众多中国…...

培训心得怎么写?CHAT帮你解决问题

问CHAT&#xff1a;请写一篇入职教师的培训心得 CHAT回复&#xff1a;作为一名新入职的教师&#xff0c;我非常感谢学校给予的这次培训机会。此次培训让我收获颇丰&#xff0c;无论是在教学理念、教学技巧上&#xff0c;还是在如何与学生、家长建立良好关系方面&#xff0c;都有…...

AJAX-解决回调函数地狱问题

一、同步代码和异步代码 1.同步代码 浏览器是按照我们书写代码的顺序一行一行地执行程序的。浏览器会等待代码的解析和工作&#xff0c;在上一行完成之后才会执行下一行。这也使得它成为一个同步程序。 总结来说&#xff1a;逐行执行&#xff0c;需原地等待结果后&#xff0…...