服务器性能诊断:cpu、内存、磁盘、网络
性能测试理论:
1、性能测试指标
2、性能测试方案编写
3、性能测试报告编写
4、基准测试
5、负载测试
6、压力测试
7、并发测试
8、配置测试
1)性能测试指标,分为前端和后端
前端主要关注:响应时间、加载速度、电量、流量
响应时间:用户从客户端发出请求,并得到响应,以及展示出来的整个过程的时间。
加载速度:通俗的理解为页面内容显示的快慢。
电量:APP的耗电量。
流量:APP所消耗的流量
Crash和ANR
Crash的原因一般有:空指针、内存泄漏、数组越界、调用了高版本的API。
Android应用程序,如果主线程(即UI线程)在超时间内对用户输入时间没有处理完毕,就会出现Application Note Responding弹出框,用户需要选择等待或者强制关闭来杀死进程。
后端主要关注:响应时间、并发用户数、内存占用、吞吐量tps、错误率、资源使用率
响应时间:接口从请求到响应、返回的时间。
并发用户数:同一时间点请求服务器的用户数,支持的最大并发数。
内存占用:APP的内存开销。
吞吐量(TPS):Transaction Per Second, 每秒事务数。在没有遇到性能瓶颈时:TPS=并发用户数*事务数/响应时间。
错误率:失败的事务数/事务总数。
资源使用率:CPU占用率、内存使用率、磁盘I/O、网络I/O。
4)基准测试:单用户,发单次请求,产出基准性能数据。
5)负载测试:多用户,用户数渐增,持续同时发同一业务请求,产出最大TPS。
6)压力测试:多用户,资源使用饱和,持续同时发同一业务请求,产出系统瓶颈或使用极限。
混合场景测试:多用户,资源使用不饱和,持续同时发不同业务请求,验证系统稳定性。
7)并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,几乎所有的性能测试都会涉及一些并发测试。
8)配置测试:主要是通过对被测试软件的软硬件配置进行测试,找到系统各项资源的最优分配原则。配置测试能充分利用有限的软硬件资源,发挥系统的最佳处理能力,同时可以将其与其他性能测试类型联合应用,从而为系统提供重要依据。
性能监控:
1、操作系统的资源监控
2、应用系统监控,jvm监控,线程监控
3、硬件监控
4、网络监控
5、数据库监控
操作系统的资源监控
服务器:linux应用服务器
包括CPU、Memory、Load、I/O、Disk等
应用系统监控,jvm监控,线程监控
具体包括JVM内存使用和回收、JAVA内存使用、Full GC频率、JAVA类装入和卸载、日志、线程运行状态(阻塞、等待、正常运行)等。
硬件监控
测试机资源 具体包括CPU、Memory、网络、日志输出、磁盘空间、负载生成器评估等
网络监控
具体包括防火墙、网卡、网线、吞吐量、吞吐率等。
数据库监控
具体包括缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数等。
中间件:
1、远程服务中间件(dubbo)
2、消息队列中间件(Mq、kafka)
3、web容器中间件(tomcat、nginx)
协议:
http(s)、dubbo、webservice、websocket
HTTP 协议:
HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,是用于从 WWW 服务器传输超文本到本地浏览器的传输协议。
Dubbo:
Apache Dubbo (incubating) 是一款高性能、轻量级的开源 Java RPC 框架, 它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及 服务自动注册和发现
webservice:
Web Service 是一种跨编程语言、 跨操作系统平台的远程调用技术,主要用来实现不同系统之间的通信
Web Service 通过 SOAP(Simple Object Access Protocol,简单对象访问协议) 在 Web上提供服务,提供的Web服务使用 WSDL(Web Services Description Language,Web服务描述语言) 文件进行描述说明,并通过 UDDI (Universal Description, Discovery and Integration,通用描述、发现与集成服务)进行注册
websocket:
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,位于OSI模型的应用层。
WebSocket允许服务端主动向客户端推送数据。在 WebSocket 中,浏览器和服务器只需要利用HTTP协议完成一次握手,两者之间就直接可以创建持久性的连接(长连接),并进行双向数据传输。
参考链接
性能测试的指标
https://blog.csdn.net/alice_tl/article/details/79967932
性能测试详细测试方案
https://blog.csdn.net/hyz318064860/article/details/100020509
性能测试报告编写
https://blog.csdn.net/longfei_2010/article/details/82752275
性能测试八大测试的概念
https://blog.csdn.net/tingloveyou/article/details/80641977
性能测试监控介绍及数据分析
https://blog.csdn.net/he_jian1/article/details/41649361