Sysbench性能测试(三): 内存性能测试

2024-01-28 07:18
文章标签 内存 性能 测试 sysbench

本文主要是介绍Sysbench性能测试(三): 内存性能测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Sysbench性能测试

传送门:
Sysbench性能测试(一): sysbench简介与安装
Sysbench性能测试(二): sysbench基本使用和CPU性能测试
Sysbench性能测试(三): 内存性能测试
Sysbench性能测试(四): 文件I/O性能测试
Sysbench性能测试(五): 数据库性能测试

3-3 内存性能测试

​ sysbench内存性能测试,主要是针对不同大小的块进行连续读写或者随机读写操作。在内存性能测试中,events指的是读/写一个内存块。

能获得的测量指标如下

  • 总耗时
  • 传输速度
  • 所有events最小、最大、平均耗时
  • 平均每线程完成events数/标准差
  • 平均每线程耗时/标准差

内存性能测试参数

memory options:--memory-block-size=SIZE    # 内存块大小 [1K]--memory-total-size=SIZE    # 传输数据的总大小 [100G]--memory-scope=STRING       # 内存访问范围 {global,local} [global]--memory-hugetlb[=on|off]   # 从HugeTLB池中分配内存 [off]--memory-oper=STRING        # 内存操作类型 {read, write, none} [write]--memory-access-mode=STRING # 内存访问模式 {seq,rnd} [seq]

测试实例

# 线程数=8 每1s输出一次中间结果 内存块大小=8K 传输数据总量=100G 内存访问模式=顺序访问 内存操作=写
sysbench --threads=8 --time=60 --report-interval=1 --test=memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=seq run

测试结果

Running memory speed test with the following options:block size: 8KiBtotal size: 102400MiBoperation: writescope: globalInitializing worker threads...Threads started![ 1s ] 8400.66 MiB/sec # 传输速度 MiB/s
[ 2s ] 8403.02 MiB/sec
[ 3s ] 8407.50 MiB/sec
... # 中间输出部分删除
[ 11s ] 8467.47 MiB/sec
[ 12s ] 7464.37 MiB/sec
Total operations: 13107200 (1061839.22 per second) # 总操作次数 100G=102400MB=104857600KB=13107200*8KB(块大小)102400.00 MiB transferred (8295.62 MiB/sec)General statistics:total time:                          12.3403stotal number of events:              13107200 # events数 即读/写一个内存块Latency (ms):min:                                    0.00 # 最小耗时 这里等于0是因为内存块太小,返回的结果数值精度不够avg:                                    0.00 # 平均耗时max:                                   60.02 # 最大耗时95th percentile:                        0.00 # 95%events耗时范围sum:                                62961.90 # 所有线程总耗时Threads fairness:events (avg/stddev):           1638400.0000/0.00 # 平均每线程完成events数/标准差execution time (avg/stddev):   7.8702/1.15  	 # 平均每线程执行时间/标准差

这篇关于Sysbench性能测试(三): 内存性能测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652873

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录