问题标签 [sysbench]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1047 浏览

linux - Sysbench 内存测试

我已经使用 Sysbech 实用程序对我的云实例进行了内存测试。

使用以下命令:

sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=write run

运行期间:

TOP 命令结果

我从来没有发现 Mem % 增加了。但 CPU 使用率增加到 100%

奇怪吗?

Sysbench 中的内存测试实际上意味着什么?

0 投票
0 回答
4696 浏览

php - Maxscale失去连接

我目前正在使用具有 3 个节点的 Galera Cluster 在读/写拆分模式下测试 Maxscale。默认情况下,Maxscale 将一个节点定义为主节点,将另一个节点定义为从节点(我的配置是 100% 的从节点)。

我的目的是检查 Maxscale 如何处理节点关闭。

问题是使用基准测试(Sysbench、Mysqlslap)和自定义脚本(PHP),当我关闭集群的一个节点时,与后端(MariaDB)的连接会丢失。

错误日志:

跟踪日志:

PHP测试脚本

Mysqlslap 基准测试:

Sysbench 基准测试:

遇到的错误:

最大规模配置:

会话监控显示会话变得无效,如下例所示:

我还在 Maxscale 以及我的 PHP 测试脚本(PDO 超时)中使用了不同的超时变量和 monitor_interval,但问题似乎是 Maxscale 如何处理 MySQL 会话。

我还读到了 Maxscale 的乐观方式,它转发了从其中一个节点获得的最快响应,但不确定这是否是原因。

有没有办法使节点关闭对 Maxscale 传播到集群的所有从节点的任何 SQL 请求无害?

0 投票
0 回答
36 浏览

mongodb - sysbench-mongodb 中的 NUM_LOADER_THREADS 和 NUM_WRITER_THREADS 是什么意思?

我使用 sysbench-mongodb 来测试 mongodb 的性能,该工具有一个名为 config.bash 的配置文件。在这个文件中有两个参数:

我不知道这两个参数有什么区别。谁使用过这些工具?任何人都可以帮助我吗?谢谢你。

0 投票
1 回答
196 浏览

raspberry-pi - 不寻常的 sysbench 结果 Raspberry Pi

我有 2 个树莓派,我想为负载平衡目的进行基准测试。

  • Raspberry pi Model B v1.1 - 运行 Raspbian Jessie
  • Raspberry pi Model B+ v1.2 - 运行 Raspbian Jessie

我在两个系统上都安装了 sysbench 并运行:sysbench --num-threads=1 --test=cpu --cpu-max-prime=10000 --validate在第一个系统上运行并在第二个系统上更改了 --num-threads=4 ,作为它的四核并同时运行。

结果完全不是我所期望的(我显然预计多线程基准测试会大大优于单线程基准测试)。当我用单线程运行命令时,两个系统的性能大致相同。但是当我在第二个 Pi 上将线程数更改为 4 时,它仍然花费了相同的时间,除了每个请求的统计数据显示平均请求花费了大约 4 倍的时间。我似乎可以理解为什么会这样。

结果如下:


树莓派 v1.1
单线程
CPU 测试中检查的最大质数:20000

测试执行总结:

  • 总时间:1325.0229s
  • 事件总数:10000
  • 事件执行所花费的总时间:1324.9665

每个请求的统计信息:

  • 分钟:131.00ms
  • 平均:132.50 毫秒
  • 最大值:
    约171.58 毫秒 95%:137.39ms

线程公平性:事件(avg/stddev):10000.0000/0.00 执行时间(avg/stddev):1324.9665/0.00


树莓派 v1.2
四线程
CPU 测试中检查的最大质数:20000

测试执行总结:

  • 总时间:1321.0618s
  • 事件总数:10000
  • 事件执行所花费的总时间:5283.8876

每个请求的统计信息:

  • 分钟:486.45ms
  • 平均:528.39 毫秒

  • 最大值:约591.60 毫秒 95%:553.98ms

线程公平性:事件(avg/stddev):2500.0000/0.00 执行时间(avg/stddev):1320.9719/0.03


0 投票
0 回答
279 浏览

mysql - 脚本和 Dockerfile

我正在尝试在我的 docker 容器中运行 mysql 基准测试(sysbench)。该脚本运行良好,并在主机终端中运行时执行基准测试,但是当我尝试在容器中运行它时,出现以下错误:

致命:无法连接到 MySQL 服务器,正在中止... 致命:错误 2002:无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2) ALERT:错误:无法确定表'sbtest'类型!ALERT: MySQL error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) FATAL: failed to get database capabilities!


我的码头文件是:

我的脚本是:

我该如何解决这个问题,因为相同的脚本可以在普通的 Linux 机器上运行?

0 投票
2 回答
1943 浏览

performance - Sysbench:对于 CPU 基准测试,我应该查看哪个值?

系统台版本1.0.7 操作系统macOS 10.11.6

无论我在哪里跑,sysbench cpu run我都会得到非常相似的结果,如下所示。

我读了一些博客文章,都说我应该看看,total time但在不同的平台/环境中总是 10 秒。我也得到与非常小的素数列表非常相似的结果,例如--cpu-max-prime=100。我也运行--time=0并且基准永远不会完成。

我的猜测是total time--timeoption 指定的值匹配,但我不知道要使用什么正确的命令。

提前致谢

0 投票
2 回答
12215 浏览

mysql - 在 sysbench 上找不到 oltp 测试

我正在尝试使用 sysbench 在 mySQL 数据库上运行基准测试。但是,它说它找不到内置的 test oltp

详细信息:我已经在本地机器上安装了 mySQL 和 sysbench。另外,我在dbtestmySQL 中创建了数据库。然后我执行了以下指令。

但是随后出现了此错误消息。

sysbench 与其他测试(例如

sysbench --test=cpu --cpu-max-prime=20000 run

我认为问题在于 sysbench 找不到调用的预定义测试,oltp但我不知道如何弄清楚。

感谢您的阅读。

0 投票
1 回答
988 浏览

mysql - sysbench 连接错误 - MySQL 8

即使我的其他 mysql 8 客户端从同一个 bash 会话连接到 MySQL 8,此 sysbench 测试也失败了。我检查了以下内容:

sestatus : is disabled 权限在 /mnt/optane2 上很好,sock 文件在那里。确保我使用库编译了 sysbench 并包含来自 mysql8 其他 mysql 8 客户端工具没有问题

使用最新的 sysbench 1.0.14

是否需要其他路径。

我的 PATH 变量如下所示:

0 投票
0 回答
317 浏览

docker - Docker 资源限制开关 --cpus=1 在 MySQL 中造成很大的性能损失

我有 MySQL (5.7) 在 Docker (18.03.1-ce) 容器中运行,我正在使用 Sysbench (1.0.15) 对其进行基准测试。当我使用 --cpus=1 运行 Docker 以限制容器的 cpu 利用率时,我在每秒事务数 (TPS) 和延迟 (P99) 方面的性能很差。

结果:TPS=490 和延迟(P99)=41ms

现在,如果我将 cpu 的数量增加到 2,结果会好得多。

结果:TPS=865 和延迟(P99)=1.5ms

请注意,这种性能提升不仅仅是拥有更多内核的结果,因为在 Sysbench 中,我将线程设置为 1。在两次运行中,除了 CPU 限制之外,一切都是相同的

所以,我想知道 Docker 是否有某种开销导致 --cpus=1 性能很差。

0 投票
1 回答
918 浏览

mysql - 在同一个表中的多个线程上使用批量插入对 MySQL 进行基准测试

我想测试 MySQL 数据库的 InnoDB 和 MyRock 引擎之间的高强度写入。为此,我使用 sysbench 进行基准测试。我的要求是:

  • 多个线程并发写入同一张表。
  • 支持批量插入(每次插入事务都会插入大量记录)

我检查了 sysbench 的所有预制测试,但没有看到任何满足我要求的测试。

  • oltp_write_only: 支持写入同一个表的多个线程。但是这个测试没有批量插入选项。
  • bulk_insert:支持多线程,但每个线程写入不同的表。

是否有任何预制的 sysbench 测试满足我的要求?如果没有,我可以在某处找到已经完成此操作的自定义 Lua 脚本吗?

(来自评论:)