性能测试的原理是性能测试最基础的知识。不论使用loadrunner还是使用jmeter,都少不了线程和进程的知识。性能测试就是模拟进程或线程对负载机施加压力,判断系统的性能变化。
1、程序是如何运行的?
程序是一段静态的代码,本身不会运行。在处理器(cpu)、RAM和各种资源(显卡,光驱,键盘,GPS, 等等外设)下执行
2、进程(Process)是什么?
进程是一段程序代码的执行。是一个动态的过程。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。其中文本区域存储的是可执行的程序代码,数据区域存储的是变量和动态分配的内存,堆栈存储的是活动过程调用的指令和本地变量。一个cpu(单核)只能处理一个进程。进程的状态有就绪(除cpu以外的资源都已就绪)、运行、阻塞。在引入进程的操作系统中,进程是分配资源的基本单位,线程是独立运行和独立调度的基本单位。
3、线程(Thread)是什么?
线程是进程中的多个片段。一个进程最少有一个线程。线程可以共享内存资源,也可以独享。
4、多线程是为了同步完成多个任务,为了提高资源的使用效率,从而提高系统的运行效率。
5、cpu启动运行时,先加载进程A的上下文、然后执行A的一小段线程1、执行执行A的一小段线程2、执行执行A的一小段线程3,保存进程A上下文,然后再去加载进程B。。。。
6、在loadrunner性能测试中,由于线程对系统资源的占用比较多,所以需要多个负载测试机器进行测试。而如果模拟线程话,只需要少量的负载测试机。