1、常见的性能指标有哪些?分别是什么含义?
tps:每秒事务量,代表了系统的处理能力,tps越高,性能越好
响应时间:从发出请求到接受到系统响应数据所花费的时间,响应时间越短,性能越好
吞吐量:网络上行和下行流量的总和,吞吐量是网络瓶颈定位的重要指标
错误率:在压测过程中系统出现错误的比例
2、什么是集合点,什么场景下需要用集合点
集合点是测试脚本中的一个标记,当每个虚拟用户执行到标记处时,会停留在标记处等待其他的虚拟用户,当达到预期设置的并发数时,标记处的所有用户同时启动执行后续的请求
集合点会产生瞬间高并发,但是也会降低平均压力。所以在压测过程中,如果有要求瞬间高并发的业务,就需要使用集合点,比如抢购,秒杀之类的业务。
没有类似业务则不需要加集合点
3、性能测试过程中,怎么判断网络瓶颈?
一般性能测试都是在局域网内进行,在压测过程中,可以监控到服务器上网卡的流量,判断此流量是否已经达到局域网内网络设备的上限,比如路由器、交换机、网卡等
在这些设备中,一般是服务器网卡网络吞吐量最低。服务器的网卡大多是千兆网卡,换算成KB=1000/8=125MB
4、服务器的cpu使用率和load是什么关系?
通常情况下,cpu使用率和load值是正比关系,即cpu使用率越高,load值越高。但是在一些特殊情况下,也会出现cpu使用率不高,但是load值较高的情况
比如某系统只能使用CPU中的单核运行,它可以占用单核cpu100%,但从整体cpu使用率来看,只是使用了一小部分。而随着并发的增大,单核CPU的任务队列会越来
越长,造成了load值较高
5、性能测试脚本中为什么要做参数化?
参数化把测试脚本中的请求数据动态化,避免使用单一固定参数进行压测。这也是为了更加真实的模拟用户的请求
6、Linux系统中的buffer和cache都起到什么作用。内存占用有大量的buffer和cache是异常情况吗?
buffer和cache都是Linux中的缓存机制,cache里一般会缓存一些文件的内容,buffer会缓存一些需要写入磁盘的数据。
Linux会利用空闲的内存做一些缓存,加快文件的访问速度。如果系统可用内存不足时,Linux会释放掉buffer和cache所占用的内存。
所以内存占用中有大量的buffer和cache也是正常现象
7、性能脚本中的乱码问题怎么解决?
1、如果在脚本中不使用或不判断乱码部分的数据,那可用忽略此问题,因为乱码并不影响性能
2、如果需要使用乱码数据,可以通过压测工具提供的一些方法进行编码转换(如LR的lr_convert_encoding_string函数,Jmeter修改配置文件等方式)
8、在性能测试工具中,使用线程和进程压测有什么区别,Loadrunner和Jmeter分别使用什么进行发压?
Loadrunner同时支持进程和线程发压。当选择进程时,每个虚拟用户单独启动一个进程,当选择线程时,每50个线程启动一个进程
Jmeter只支持线程发压
进程和线程的主要区别为,进程之间是独享内存的,线程之间是共享内存的。使用进程压测占用的资源会大一些。在高并发下,会减少压测工具自身的异常情况
9、性能测试脚本中,定义事务的原则是什么?
在测试脚本中,事务定义的业务流程越短越好。同时脚本中不要写过多复杂的逻辑,对于一个复杂的场景,可以考虑把脚本拆解成多个简单的脚本
来源:CSDN
作者:让认真成为一种性格
链接:https://blog.csdn.net/liuyuzhu111/article/details/103852601