Sysbench 压测工具

2017-01-20 Friday     linux , misc

Linux 中有很多压测工具,不同的场景会各有优劣,例如磁盘压测工具 fio 。

Sysbench 算是一个比较通用的压测或者基准测试工具,这是一个开源、模块化、跨平台的多线程性能测试工具,可以用来进行 CPU、内存、IO、线程、数据库的性能测试,其中数据库支持 MySQL、Oracle 和 PostgreSQL 。

这里简单介绍其使用方法。

简介

所谓的基准测试,主要是对测试对象,进行定量、可复现、可对比的测试,不关心业务逻辑,相比来说更加简单、直接、易于测试,数据可以由工具生成,不要求真实。

另外一种是压力测试,此时一般需要考虑具体的业务逻辑,需要确保压测模型尽量服务期望场景,所以一般是真实数据。

安装

在 CentOS 中,对应的 RPM 包仓库在 EPEL 中,可以通过如下命令安装。

# yum --enablerepo=epel install sysbench

建议使用上述的二进制安装方式,源码安装要复杂一些。

常用命令

基本的使用方式如下。

$ sysbench [options]... [testname] [command]

对于具体的参数可以通过 sysbench --help 查看,包括了常用的参数、内置的压测引擎等。

相关的子类压测,同样有帮助文档,例如 sysbench --test=cpu help 查看与 CPU 压测相关的一些帮助文档。

通用参数

--num-threads=N            创建测试线程的数目,默认为 1;
--max-requests=N           总请求数,与--max-time选择一个设置即可,默认值为 10000;
--max-time=N               总执行时间,单位为秒,默认值为0,也就是不限制;
--forced-shutdown=STRING   当超过--max-time后强制中断,默认为off;
--thread-stack-size=SIZE   每个线程的stack大小,默认为64K;

系统基准测试

OS 基准测试

$ sysbench --test=cpu --cpu-max-prime=2000 run
$ sysbench --num-threads=3 --test=cpu --cpu-max-prime=2000000 run


如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^


About This Blog

Recent Posts

Categories

Related Links

  • RTEMS
    RTEMS
  • GNU
  • Linux Kernel
  • Arduino

Search


This Site was built by Jin Yang, generated with Jekyll, and hosted on GitHub Pages
©2013-2019 – Jin Yang