性能测试工具 CBenchmark
- lele - 开源中国社区最新软件CBenchmark—-CharlesCui’s Benchmark 这是我实现的一款性能测试工具,之前在工作中常用LoadRunner之类的工具来完成性能测试,但受限于LR极其昂贵的Lisence以及难以定制的SDK,于是我用C/C++实现了这个工具,并借助Linux系统对线程和进程的良好调度,可以实现极高的并发压力.
动态信息收集 | ||||
工具分类 | 工具名称 | 功能描述 | 使用简介 | 备注 |
xen | xentrace | 捕获xen trace,可以通过该命令获取vMexit的次数、时间和原因、xen的一些函数调用等 | 1.收集信息:xentrace -D -T 10 result.raw (参数-D表示删除缓存中的信息,-T 10表示收集时间持续10秒,参数可以通过xentrace -h查看) 2.采集的信息解析:cat result.raw|xentrace_format formats>result.txt 或xentrace_format formats<result.raw>result.txt |
该命令收集的信息很多,一般在分析需要时收集一段时间的数据,不要在测试过程中长时间运行 |
xentop | 统计所有运行的虚拟机的资源消耗 | tentop -b -d 10 | xentop统计的虚拟机内存利用率不准确 | |
xm debug-key | 显示xen运行信息及统计信息 | 通过xm debug-key h;xm dmesg查看相关的key的信息。 例如:xm debug-key u;xm dmesg显示xen的NUMA信息 |
结果显示在xm dmesg中 | |
xenperf | 收集xen统计信息 | |||
vcpuinfo | 查看运行的虚拟机vcpu对应运行在哪个物理CPU上 | virsh vcpuinfo 虚拟机名称 | ||
CPU及所有资源监控 | vmstat | 监控系统内存、进程、IO等信息 | vmstat 10 60 | vmstat 采集到的第一次数据不准确。因此需要持续一段时间 |
top | 监控系统的资源使用与进程的资源利用 | top -b -d 10 | top 采集到的第一次数据不准确。因此需要持续一段时间 | |
sar | 监控linux系统的信息 | sar -A | ||
interrupts | 收集中断信息 | cat /proc/interrupts | ||
mpstat | 监控CPU统计信息 | mpstat -A | ||
内存 | meminfo | 收集内存信息 | cat /proc/meminfo | |
zoneinfo | 收集zone信息 | cat /proc/zoneinfo | ||
buddyinfo | 收集buddy信息 | cat /proc/buddyinfo | ||
slabinfo | 收集slab信息 | cat /proc/slabinfo | ||
ipcs | 收集系统共享内存及信号量信息 | ipcs | ||
free | 收集内存使用量 | free | ||
网络 | tcpdump | 网络收发包情况 | tcpdump [-adeflnNopqstvx] [-c 数量][-F 文件名][-i 网络接口][-r 文件名][-s snaplen][-T 类型][-w 文件名][表达式] | 要使用tcpdump工具需要安装对应的rpm包,tcpdump的结果使用ethereal工具或wireshark工具解析 |
netperf | 网络延迟 | |||
存储 | scsi debug | 查看SCSI上层、中层和底层的IO,从send到完成的过程 | ||
blktrace | 抓取block layer一下的IO处理流程 | |||
iostat | 监控磁盘IO性能 | iostat -t -kx 10 | ||
df | 磁盘利用率 | |||
进程 | pidstat | 每个进程的资源利用率情况 | pidstat -h,如pidstat -d | |
ps | 进程信息 | ps aux | ||
静态信息收集 | ||||
信息名称 | 说明 | 收集方法 | ||
cpuinfo | 收集CPU信息 | cat /proc/cpuinfo | ||
uname | 内核版本信息 | uname -a | ||
mount | 磁盘挂载信息 | mount | ||
xenpm | CPU超线程 | xenpm get-cpu-topology | ||
IO队列相关 | 收集IO调度算法 | cat /sys/block/sda/queue/scheduler | ||
IO请求队列长度 | cat /sys/block/sda/queue/nr_requects | |||
IO请求最大扇区 | cat /sys/block/sda/queue/max_sectors_kb | |||
缓存相关静态信息 | 脏页回写比例 | /proc/sys/vm/dirty_ratio | ||
脏页回写超时时间 | /proc/sys/vm/dirty_expire_centisecs | |||
dmicode | BIOS中硬件配置信息 | dmicode | ||
lspci | 查看系统硬件信息 | lspci |