【原创】sysbench 使用总结
总结 原创 使用 SysBench
2023-09-14 08:59:46 时间
sysbench 是一款多线程系统压测工具。可以根据影响数据库服务器性能的各种因素来评估系统的性能。可以用来测试文件I/O,操作系统调度器,内存分配和传输速度,POSIX 线程,以及数据库服务器等。sysbench 支持 Lua 脚本语言以实现更加灵活的设置。属于全能型的测试工具。
========= 我是分割线 ==========
以下内容参考自《高性能 MySQL 》的第二章。
1. CPU 基准测试
测试内容:测试计算素数知道某个最大值所需的时间。
?
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6585.40 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz stepping : 7 cpu MHz : 1600.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 2 fpu : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6585.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz stepping : 7 cpu MHz : 1600.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 1 fpu : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6584.95 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz stepping : 7 cpu MHz : 1600.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 fpu : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6585.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] [root@Betty ~]#
2. 文件 I/O 基准测试
用于测试系统在不同 I/O 负载下的性能。
a. 准备阶段
生成测试用的数据文件,要求生成的数据文件至少要比内存大,否则数据由于被操作系统缓存而无法体现 I/O 密集型工作负载。
?
-rw------- 1 root root 83886080 Aug 14 10:53 test_file.0 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.1 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.10 -rw------- 1 root root 83886080 Aug 14 10:55 test_file.100 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.109 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.11 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.110 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.119 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.12 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.120 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.127 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.13 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.19 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.2 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.20 -rw------- 1 root root 83886080 Aug 14 10:55 test_file.98 -rw------- 1 root root 83886080 Aug 14 10:55 test_file.99 [root@Betty ~]#
[root@Betty ~]# sysbench --test=fileio --file-total-size=10G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Initializing random number generator from timer. Extra file open flags: 0 128 files, 80Mb each 10Gb total file size Block size 16Kb Number of random requests for random IO: 0
3. OLTP 基准测试
[root@Betty ~]# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --db-driver=mysql --mysql-socket=/tmp/mysql.sock --mysql-user=root prepare sysbench 0.4.12: multi-threaded system evaluation benchmark Creating table sbtest...
[root@Betty ~]# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 --db-driver=mysql --mysql-socket=/tmp/mysql.sock run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 8 Doing OLTP test.
Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)
[root@Betty ~]# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-socket=/tmp/mysql.sock cleanup sysbench 0.4.12: multi-threaded system evaluation benchmark Dropping table sbtest... Done. [root@Betty ~]#
昨天使用gdb调试MySQL中事务临界状态的时候,发现其实有些场景可能比我想得还要复杂一些,所以我在昨天的测试中结尾也是快快扫过,但是表明了意思即可。这一点上我在后面会把Oracle的临界事务状态也拿出来对比一下,还是蛮有意思的。
========= 我是分割线 ==========
以下内容参考自《高性能 MySQL 》的第二章。
1. CPU 基准测试
测试内容:测试计算素数知道某个最大值所需的时间。
?
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6585.40 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz stepping : 7 cpu MHz : 1600.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 2 fpu : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6585.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz stepping : 7 cpu MHz : 1600.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 1 fpu : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6584.95 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz stepping : 7 cpu MHz : 1600.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 fpu : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc nonstop_tsc arat pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips : 6585.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: [8] [root@Betty ~]#
2. 文件 I/O 基准测试
用于测试系统在不同 I/O 负载下的性能。
a. 准备阶段
生成测试用的数据文件,要求生成的数据文件至少要比内存大,否则数据由于被操作系统缓存而无法体现 I/O 密集型工作负载。
?
-rw------- 1 root root 83886080 Aug 14 10:53 test_file.0 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.1 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.10 -rw------- 1 root root 83886080 Aug 14 10:55 test_file.100 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.109 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.11 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.110 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.119 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.12 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.120 -rw------- 1 root root 83886080 Aug 14 10:56 test_file.127 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.13 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.19 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.2 -rw------- 1 root root 83886080 Aug 14 10:53 test_file.20 -rw------- 1 root root 83886080 Aug 14 10:55 test_file.98 -rw------- 1 root root 83886080 Aug 14 10:55 test_file.99 [root@Betty ~]#
[root@Betty ~]# sysbench --test=fileio --file-total-size=10G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Initializing random number generator from timer. Extra file open flags: 0 128 files, 80Mb each 10Gb total file size Block size 16Kb Number of random requests for random IO: 0
3. OLTP 基准测试
测试内容:模拟事务处理系统的工作负载。使用一张超过百万行记录的表。
a. 生成表
[root@Betty ~]# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --db-driver=mysql --mysql-socket=/tmp/mysql.sock --mysql-user=root prepare sysbench 0.4.12: multi-threaded system evaluation benchmark Creating table sbtest...
[root@Betty ~]# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 --db-driver=mysql --mysql-socket=/tmp/mysql.sock run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 8 Doing OLTP test.
Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)
[root@Betty ~]# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-socket=/tmp/mysql.sock cleanup sysbench 0.4.12: multi-threaded system evaluation benchmark Dropping table sbtest... Done. [root@Betty ~]#
昨天使用gdb调试MySQL中事务临界状态的时候,发现其实有些场景可能比我想得还要复杂一些,所以我在昨天的测试中结尾也是快快扫过,但是表明了意思即可。这一点上我在后面会把Oracle的临界事务状态也拿出来对比一下,还是蛮有意思的。
相关文章
- 数据库总结
- 关于在ubuntu下配置AMD显卡驱动的总结
- Oracle中文乱码解决办法总结
- 【总结】两种 NIO 实现:Selector 与 Epoll
- 【原创】研究Tribler过程中遇到的Python相关问题总结
- 移动调试方法总结
- 【学习总结】计算机基础课程学习与总结
- 【学习总结】Git学习-参考廖雪峰老师教程七-标签管理
- Xmanager使用总结(原创)
- 八大排序算法总结
- atitit. 深入理解Cohesion)原理ad attilax大总结
- atitit。ocr框架类库大全 attilax总结
- PostgreSQL的学习心得和知识总结(一百二十二)|深入理解PostgreSQL数据库PL/pgSQL过程语言 特殊变量FOUND 的使用场景和实现原理
- PostgreSQL的学习心得和知识总结(一百零五)|详解PostgreSQL数据库 Add ON CONFLICT DO RETURN clause 实现原理说明
- 操作系统的概述 并发和共享的关系 任务管理器 系统资源 向上层提供服务 GUI 封装思想 联机命令 脱机命令 操作系统的特征 并行 并发 共享 虚拟 异步 总结 新手上车 言简意赅 通俗易懂