CPU负载和CPU利用率的区别
系统负载代表单位时间内正在运行或等待的进程或线程数,代表了系统的繁忙程度.
CPU利用率则代表单位时间内一个线程或进程实时占用CPU的百分比.
我们知道,一个进程或者线程在运行时,未必都在实时的利用CPU的.比如,在CPU密集型的情况下,系统的负载未必会高,但CPU的利用率肯定会高,一个
线程/进程一直在计算,它对CPU的实时利用率是100%,而系统负载是0.1.
又比如,而对于I/O密集型的程序来说,有可能CPU的利用率不高,但系统的负载却会非常高,这是因为I/O经常引起阻塞,这样导致很多线程/进程被处于
阻塞等待状态,处于等待的线程或进程也是属于负载线程/进程的.
TPS(transaction per second)是单位时间内处理事务的数量
QPS(query per second)是单位时间内请求的数量.
TPS代表一个事务的处理,可以包含了多次请求.很多公司用QPS作为接口吞吐量的指标,也有很多公司使用TPS作为标准,两者都能表现出系统的吞吐量
的大小,TPS的一次事务代表一次用户操作到服务器返回结果,QPS的一次请求代表一个接口的一次请求到服务器返回结果.当一次用户操作只包含一个
请求接口时,TPS和QPS没有区别.当用户的一次操作包含了多个服务请求时,这个时候TPS作为这次用户操作的性能指标就更具有代表性了.
来源:oschina
链接:https://my.oschina.net/liwanghong/blog/3214839