服务器与客户端常用测试工具与方法经验总结

2024-06-17 01:32

本文主要是介绍服务器与客户端常用测试工具与方法经验总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、服务端测试:

1.服务端压力测试:

a) 测试工具:

i. LoadRunner

ii. httpload

iii. JMeter:一个基于java的压力测试工具;

1. 数值说明:

a) #Samples:测试完成的总事务数

b) Average:平均请求响应时间、

c) Median:统计意义上的平均响应时间

d) 90%Line:除特殊情况之外的最大响应时间

e) Min:最短响应时间

f) Max:最大响应时间

g) Error%:出错率

h) Throughput:吞吐量,和ab的每秒处理请求数相同

i) KB/sec:流量,权衡

iv. Apache ab:在apache安装目录bin的下面:

1. 测试并发性能: 

无参数请求:ab -n 100 -c 10 http://192.168.1.103:8001/index/login ;

测试post请求,先将post数据放在一个文件中,比如(D盘下的post.txt),然后,命令为:ab -n 100 -c 10 -p d:/post.txt http://192.168.1.103:8001/index/login?sid=1hlkp7d5pccng4j79d14gt2u3d6rgib0sessionid可以从测试接口获得

2. 测试获得结果分析:

a) Total Transferred: 整个场景中的网络传输量

b) Request per second:每秒处理的请求数,即每秒事务数(TPS,一般来说100~200是比较理想的范围

c) Time per request:每个请求所花的时间,即平均事务时间。此数值一般有两行,一般关注后一行的数值,也就是计算请求平均响应的时间。

d) Transfer rate:平均每秒的网络流量,此数据可以帮助排除是否存在网络流量过大导致响应时间延长的问题。

 

2.服务端性能测试的几个注意事项:

a) 性能测试最好在本地进行,至少要保证服务器和测试机都在内网中,这样才能排除网络的干扰,更准确的测出系统本身的问题。

b) 必须根据服务端应用的实际情况选用合适的输入参数,这样可以预估出和目标性能相似的测试。

 

二、客户端测试:

客户端测试更关心客户端运行的稳定和流程度

 

1.稳定性测试的三个要点:

a) 应用的运行实际要尽可能的长,

b) 保持运行时是多线程运行状态

c) 尽可能使用多的机型或者操作系统进行测试

 

2.稳定性测试可以用到的工具:

a) DDMS中的内存查看器(Heap),可以即时的获取到设备内存详情,可以帮助我们在稳定性出现问题的时候及时的发现问题。

b) 可以再代码中的活动基类中直接加入debugMemory的方法,来打印应用程序运行时内存的占用情况。

c) 使用InvocationHandler类来实现测试目标的动态代理类,进而帮助我们测试目标代码,可以打印出每个方法的执行时间等。/app-demos-client/src/com/app/demos/test/TestProxy.java此方法就实现了这个。

 

三、性能瓶颈分析:

1.服务端瓶颈分析:

a) 服务器

b) 数据库

c) 代码程序

d) 网络传输

2.客户端瓶颈分析:

a) 数据准备:

i. 客户端数据的来源一般有两个:

1. API接口获取

2. 本地获取

b) 界面渲染

c) 打包发布

 

四、优化思路:

1.更快速:运行效率是衡量一个应用是否成功的重要标志之一;

2.更稳定:快速需要在稳定的前提下。

3.更合理:

这篇关于服务器与客户端常用测试工具与方法经验总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068117

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创