广告
返回顶部
首页 > 资讯 > 数据库 >如何进行sysbench压力测试
  • 505
分享到

如何进行sysbench压力测试

2024-04-02 19:04:59 505人浏览 泡泡鱼
摘要

如何进行sysbench压力测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 对于很多线上业务而言,如果有新服务器,新的

如何进行sysbench压力测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

对于很多线上业务而言,如果有新服务器,新的环境,新的业务,到底资源和预期的承载压力是否匹配,这个得用数据说话,或是通过严谨的论证来阐述。

比如一台新的服务器,一般都需要经过压力测试,我们也叫拷机测试。一般都会从多个维度来进行加压(比如CPU,内存,io等等),看看服务器是否依旧坚挺,虽然这一点上如果产生了懈怠或者懒惰还是会被轻视,但是从身边的例子来看,还是会测试出一些问题来,如果发现了问题,就避免了后续的很多被动。

sysbench就是这么一个工具,功能非常全面。是一个标准模块化,多线程的基准测试工具。

安装的过程相对比较简单,下载之后参考README文档即可,我就直接略过了。

这个工具能够测试哪些方面呢,我们用命令来说明。

sysbench --help


Compiled-in tests:

fileio- File I/O test

cpu- CPU perfORMance test

memory- Memory functions speed test

threads- Threads subsystem performance test

mutex- Mutex performance test

oltp- OLTP test简单来说就是下面的一些方面。

1、磁盘IO性能

2、CPU运算性能

3、调度程序性能

4、内存分配及传输速度

5、POSIX线程性能

6、数据库性能(OLTP基准测试)

比如测试CPU,如果让我们测试还真没有什么好的思路,看看sysbench是怎么做的,可以使用命令sysbench --test=cpu help得到如下的结果:

cpu options:

--cpu-max-prime=N upper limit for primes generator [10000]可以看到重要的关键字prime,即质数,比如查找小于一千万的最大质数,这个问题还是蛮烧脑的,就让CPU来烧吧,这样运行即可。会启用10个并发线程,最大请求数是100

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=cpu --debug --cpu-max-prime=10000000 run

有了CPU压测的基本概念,后续的几种解释起来就相对容易一些了。

比如测试内存,可以指定测试范围,如32G,64G根据自己需要来。

比如我们测试32G内存,并发线程数是10个,最大请求数是100,分别从读和写两种测试来做。

内存读测试

/usr/local/bin/sysbench --num-threads=10 --max-requests=100

--test=memory --memory-block-size=8k --memory-total-size=32G

--memory-oper=readrun内存写测试

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=memory --memory-block-size=8k --memory-total-size=32G--memory-oper=writerun而对于IO测试而言,是有些区别的,因为会有准备数据(比如写一个临时文件),所以会分成几个阶段,准备阶段,运行阶段,清理阶段。

下面就是一个相对简单的场景,20个文件,每个10GB,随机读写,文件大小总量在200G.

/usr/local/bin/sysbench --file-num=20 --num-threads=20 --test=fileio

--file-total-size=

200G--max-requests=1000000 --file-test-mode=rndrwprepare

/usr/local/bin/sysbench --file-num=20 --num-threads=20

--test=fileio --file-total-size=

200G--max-requests=1000000 --file-test-mode=rndrwrun

/usr/local/bin/sysbench --file-num=20

--num-threads=20 --test=fileio --file-total-size=

200G--max-requests=1000000 --file-test-mode=rndrwcleanup硬件类的测试,基本一次测试就能够得到一个基线数据,就不需要反反复复测试了。而对于DBA还是开发同学而言,更加关注于业务层面,我们会从很多可能的角度和场景去分析权衡,这些sysbench也是支持的,就是oltp选项。

当然sysben对于Mysql的支持是原生的,而对于其他的数据oracle,postgresql等数据,需要单独配置。

因为应用测试会产生基础数据,所以也是分为多阶段的。

比如准备基础数据,进行压力测试,最后的统计结果和后期的清理。这里值得说的是,对于较低版本的sysbench而言,还不支持多表参数--oltp_tables_count,准备好基础数据,后面就会开启多线程模式进行模拟压力的测试。比如下面的命令,测试模式complex,并发线程数30,最大请求数5000000 ,表的数据量在一亿。先创建一个测试库sysbenchtest,测试完成之后删除即可。

mysql -uroot -e "create database if not exists sysbenchtest"

/usr/local/bin/sysbench --mysql-user=root --test=oltp

--mysql-host=localhost --oltp-test-mode=complex

--mysql-table-engine=innodb --oltp-table-size=100000000

--mysql-db=sysbenchtest --oltp-table-name=innodb_test --num-threads=30

--max-requests=5000000

prepare

/usr/local/bin/sysbench

--mysql-user=root --test=oltp --mysql-host=localhost

--oltp-test-mode=complex --mysql-table-engine=innodb

--oltp-table-size=100000000 --mysql-db=sysbenchtest

--oltp-table-name=innodb_test --num-threads=30 --max-requests=5000000

run

mysql -uroot -e "drop table if exists sysbenchtest.innodb_test; drop database if exists sysbenchtest"

在一台服务器上我进行了测试,发现1亿左右的数据,数据文件在24G左右。

-rw-r----- 1 mysql mysql 61 Mar 10 11:20 db.opt

-rw-r----- 1 mysql mysql 8632 Mar 10 11:20 innodb_test.frm

-rw-r----- 1 mysql mysql 24419237888 Mar 10 13:29 innodb_test.ibd

得到的报告如下,可以看到整个过程持续了近3个小时,TPS在455左右,其实还是不高的。

如何进行sysbench压力测试

对于压力测试,其实一个蛮不错的想法,就是我指定压测的策略,然后让它去在后台运行,MGR测试脚本已经写好,会在测试之后共享给大家,这样一来,我可以在瞬间创建出多个节点,然后测试很多复杂的压力场景。到时候我就直接查看数据,得到一个报告,想想都很有意思。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: 如何进行sysbench压力测试

本文链接: https://www.lsjlt.com/news/66317.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何进行sysbench压力测试
    如何进行sysbench压力测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 对于很多线上业务而言,如果有新服务器,新的...
    99+
    2022-10-19
  • Mysql压力测试(sysbench)
    目录 配置项目环境: 参考:采用sysbench压测mysql详解_dream21st的博客-CSDN博客 实验步骤: 1、安装sysbench工具 2、在master上创建用户和库,配置用户的权限可以使他可以访问库(Mysql的主从复制...
    99+
    2023-09-05
    mysql 压力测试 数据库
  • sysbench对数据库进行压力测试
    sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。安装方式:https://github.com/akopytov/sysbench/blob/master/REA...
    99+
    2022-10-18
  • [MySQL]-压力测试之Sysbench
    [MySQL]-压力测试之Sysbench 文章目录 [MySQL]-压力测试之Sysbench一、Sysbench概况1)介绍2)安装部署 二、实战1)构造测试数据2)开始运行压测结果...
    99+
    2023-09-04
    mysql 压力测试 数据库
  • 使用sysbench压力测试MySQL(二)
       昨天有了第一篇的测试之后,仅仅是一个开始。    我接下来做sysbench压测的主要思路是根据现有的配置作出调整,能够持续性的优化和压力测试达到目的...
    99+
    2022-10-18
  • 如何使用sysbench对MySQL实施压力测试
    下面一起来了解下如何使用sysbench对MySQL实施压力测试,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何使用sysbench对MySQL实施压力测试这篇短内容是你想要的。1.背景出自perco...
    99+
    2022-10-18
  • 如何进行sysbench测试
    如何进行sysbench测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。sysbench支持以下几种测试模式:1、CPU运算...
    99+
    2022-10-18
  • MySQL压力测试中如何定制sysbench的Lua模板
    本篇内容介绍了“MySQL压力测试中如何定制sysbench的Lua模板”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2022-10-19
  • Linux怎么进行压力测试
    这篇文章主要介绍“Linux怎么进行压力测试”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux怎么进行压力测试”文章能帮助大家解决问题。软件压力测试是一种基本的质量保证行为,它是每个重要软件测...
    99+
    2023-06-27
  • 【压测】通过Jemeter进行压力测试(超详细)
    文章目录 背景一、前言二、关于JMeter三、准备工作四、创建测试4.1、创建线程组4.2、配置元件4.3、构造HTTP请求4.4、添加HTTP请求头4.5、添加断言4.6、添加察看结果树4.7、添加Summary Report4....
    99+
    2023-08-16
    压力测试 java 开发语言
  • Java如何使用jmeter进行压力测试
    本篇内容介绍了“Java如何使用jmeter进行压力测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!jmeter测试计划配置:运行bin目...
    99+
    2023-06-20
  • Java使用jmeter进行压力测试
    本篇文章简单讲一下使用jmeter进行压力测试。其压测思想就是 通过创建指定数量的线程,同时请求指定接口,来模拟指定数量用户同时进行某个操作的场景。 jmeter测试计划配置: 运行...
    99+
    2022-11-12
  • 使用sysbench压力测试MySQL(三)(r12笔记第6天)
      昨天使用gdb调试MySQL中事务临界状态的时候,发现其实有些场景可能比我想得还要复杂一些,所以我在昨天的测试中结尾也是快快扫过,但是表明了意思即可。这一点上我在后面会把Oracle的临界...
    99+
    2022-10-18
  • Linux下如何使用JMeter进行压力测试
    这篇文章主要为大家展示了“Linux下如何使用JMeter进行压力测试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何使用JMeter进行压力测试”这篇文章吧。JMeter是Apa...
    99+
    2023-06-27
  • JMeter如何对MySQL数据库进行压力测试
    这篇文章将为大家详细讲解有关JMeter如何对MySQL数据库进行压力测试,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、安装并配置 JMeter下载官网下载,下载二进制的这个 zip配置环境变量然后解...
    99+
    2023-06-28
  • 如何进行阿里云服务器压力测试
    1. 选择合适的压力测试工具 在进行阿里云服务器压力测试之前,首先需要选择一款合适的压力测试工具。常见的压力测试工具包括Apache JMeter、LoadRunner、Gatling等。根据自己的需求和技术背景选择一款适合的工具。 2....
    99+
    2023-10-27
    阿里 服务器 压力测试
  • 怎么对Linux系统进行压力测试
    这篇文章将为大家详细讲解有关怎么对Linux系统进行压力测试,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为什么你会想给你的 Linux 系统施加压力呢?因为有时你可能想知道当一个系统由于大量运行的进程、...
    99+
    2023-06-15
  • MySQL性能压力基准测试工具sysbench的使用简介
    1、sysbench介绍 这里介绍一款MySQL数据库的压力测试软件sysbench,用它来进行基准测试。 sysbench 是一个开源的、模块化的、跨平台的多线程性能测试工具, 可以用来进行CPU、内存、磁盘I/...
    99+
    2022-05-28
    MySQL sysbench MySQL 性能压力测试工具
  • 使用sysbench对MySQL进行测试
    因sysbench版本更新问题,某些命令选项发生改变,查询help进行酌情更改。 https://yq.aliyun.com/articles/66651spm=5176.100239.blogcont6...
    99+
    2022-10-18
  • Ubuntu中怎么使用ApacheBench进行压力测试
    本文小编为大家详细介绍“Ubuntu中怎么使用ApacheBench进行压力测试”,内容详细,步骤清晰,细节处理妥当,希望这篇“Ubuntu中怎么使用ApacheBench进行压力测试”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作