Linux服务器监控性能测试
服务器性能测试范围:
测试目的: 发现服务器的性能瓶颈.配置的不同能够承载的最大任务数不同,能够承载的压力也不同.
测试范围及性能指标:
- CPU:车间的工人(负责计算)
- 内存:车间里的临时存储的仓库(数据临时存储)
- 磁盘:车间里真正的仓库(持久化数据)
- 网络:车间的道路,传送带(传送数据)
- 版本:车间的装修(版本不同影响不同常用6.5,6.8)
遇到测试与生产环境配置不同怎么办?
通过多次压测来计算性能损耗
性能损耗的计算方式:
- 1. 多次压测后的性能预估(性能损耗指标:相同脚本,相同场景,相同的并发用户数,等的基础上增加服务器)
进程与线程
定义与区别:
- 1. 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位(进程是可以独立运行的)
- 线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更小的能够独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中比不可少的资源.一个线程可以创建和撤销另一个线程
- 一个线程只能属于一个进程,而一个进程可以拥有多个线程
- 线程是进程工作的最小单位
- 一个进程会分配一个地址空间,进程与进程之间不共享地址空间,即不共享内存
- 同一个进程下的不同的多个线程,共享父进程的地址空间
- 线程在执行过程中,需要协作同步.不同进程的线程间要利用消息通讯的办法实现同步
- 线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
Linux帮助命令
man命令
- 1. linux下的函数手册命令,可以查看所有命令的使用方法(man+命令)如:man ls 即会出现ls命令使用的所有方式.查看完毕是用q退出
top命令
- 1. top: 能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序.语法:
top –hv | -bcHiOSs –d secs –n max –u|U user –p pid(s) –o field –w [cols]
top参数
- –h:帮助
- –p:监控指定进程.当监控多个进程时,进程ID以逗号分隔. 这个选项只能在命令行下使用(如:top –p 1,2)
top任务区命令(所谓的任务去就是执行完top回车之后)
- M: 按内存使用率排序
- P: 按CPU使用率排序
- z:彩色/黑白显示
top中的load average
- top中的load average: 系统的运行队列的平均利用率,也可以认为是可运行进程的平均数.三个值分别表示在最后的1分钟, 5分钟, 15分钟负载值.
- 在单核cpu中load average的值为1时表示满负荷状态.同理在多核cpu中满负载的load average的值为1*cpu核数
top结果说明:
%cpu: us:用户, sy:系统, id 空闲
kiBMem: total:内存 sued :已使用内存
kiB Swap: 虚拟内存
vmstat命令:
- 1. 可以监控操作系统的进程状态, 内存, 虚拟内存, 磁盘IO, CPU的信息.语法:
vmstat [-a] [-n] [-S unit] [delay [count]]
vmstat参数:
- –S : 使用指定单位显示. 参数有k, K, m, M. 分别代表1000, 1024, 1000000, 1048576字节(byte). 默认单位为K(1024 bytes)
- vmstat 1 1 动态监控(第一个参数:时间间隔, 第二个参数:显示次数, 单位K)
free命令:
- 1. 能够监控系统的内存使用状态. 其中,total:总计物理内存的大小; used: 已使用多大; free : 可用多少; shared:多个进程共享的内存总额; buffers/cached:磁盘缓存的大小 (free –h 显示单位了)