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

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

相关文章

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶