并发(Concurrency)并行(Parallelism):CPU为八核,可以同时处理八个人物;如果为单核,有八个任务进来,只能排队单个处理。并发是针对于一个对象(单核CPU)发生多个事件(请求),并行是指多个对象(多个CPU核)同时处理多个事件(请求)。交易量/请求数作为性能需求
负载:模拟业务操作对服务器造成压力的过程
性能测试(Performancr Testing):模拟用户负载在测试在负载情况下,系统的响应时间,TPS,等指标是否满足性能要求
负载测试(Load Testing):不断加大负载(不同虚拟用户数)来确定在满足性能指标情况下的承载极限
配置测试:合理调配资源,提高系统的运行效率,通过测试手段来获取,验证,调整配置信息的过程
压力,强度测试(Stress Testing):在一定的软硬件环境下,通过高负载的手段使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,稳定的指标包括TPS,RT,CPU使用率
稳定性测试(Endurance Testing):在一定的软硬件环境下,长时间运行一定负载,确定系统在满足性能指标的情况下是否稳定运行(响应时间,TPS,主机是否稳定)
TPS(Transactions Per Second):每秒完成的事务数(取决于业务响应时间),有时用QPS(每秒查询数)代替
QPS(Queries Per Second):每秒查询数,指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标
TPS波动范围:用方差(标准差的平方),方差越大,数据的波动就越大。假设平均响应时间为t,并发量为c,每秒处理请求数为q,q=(1000/t)*c。所以提升q则:
降低t:只能靠优化代码,取决于编码水平和架构设计
升高c:需要通过测试得出;对于‘一个线程对应一个请求’模式,c的最大 值受限于服务器能支撑多少个线程。对于‘一个进程对应一个请求’模式,c的最 大值受限于最大进程数。随着线程/进程的增加,上下文切换、线程/进程调度开销
会增大,会间接增大t值,所以不能让q的值和c的值等比增加,所以不能一味增加。
RT(Response Time)、ART(Average Response Time):响应时间和平均响应时间
PV(Page View):每秒用户访问页面的次数
可靠性测试:避免某些场景下用户激增,导致服务器过载