大佬教程收集整理的这篇文章主要介绍了使用 HammerDB 对 MySQL 进行基准测试,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 HAMMerDB 的 TPROC-C 基准测试对 MysqL 进行基准测试。这是我正在对 MysqL 和 POSTGResql 进行基准测试的研究的一部分。在用 POSTGResql 运行所有基准测试后,我开始对 MysqL 进行基准测试,对差异感到惊讶!
根据 HAMMerDB 的网站,RDBMS 之间的 nopM 应该具有可比性,但数字太低了,让我想到我的方法是错误的,或者我的调整参数会损害性能。
我的目的是用 100 个仓库和不同数量的虚拟用户来运行他们的基准测试。
使用 POSTGResql 时,单个虚拟用户的 nopM 约为 14000,但使用 MysqL 时,约为 3800。
我不是想挑起战争
如果有人能指出我正确的方向,那将是真正有帮助的。
我在 Docker 上同时运行 MysqL 和 POSTGResql,并使用最新的镜像。
两个镜像都被限制在 12GB 的 RAM 和 HAMMerDB 在主机上运行。
@H_293_2@mysqL 在 InnoDB 上运行。这些是我从 MysqL 更改的设置:
innodb_buffer_pool_size = 8G
innodb_buffer_chunk_size = 1G
innodb_buffer_pool_instances = 8
innodb_log_file_size = 2G
innodb_stats_on_Metadata = OFF
innodb_file_per_table = ON
innodb_write_io_threads = 24
innodb_read_io_threads = 24
innodb_thread_concurrency = 0
innodb_io_capacity = 20000
key_buffer_size = 128M
thread_stack = 256K
thread_cache_size = 16
max_heap_table_size = 256M
我是一个完整的 MysqL 菜鸟,但我想正确完成这些测试,这就是我来到这里的原因
不过,我在笔记本电脑上运行这些,这不太理想。以下是配置:
i7-1165G7 - 4 核 8 线程 HT 16GB RAM m.2 nvme SSD
至于 HAMMerDB 选项:
Timed Driver Script (same as PG)
1000000 @R_181_10586@l txs per user (same as PG)
Prepared statements
1m ramp-up time (same as PG)
30m test time (same as PG)
Use all warehouses (same as PG)
Time profile (same as PG)
我很乐意回答任何问题!
我不是母语人士,所以请原谅我的任何错误。
HAMMerDB 网站上关于 NOPM(每分钟新订单)值在数据库之间具有可比性的建议意味着 NOPM 可用于在不同数据库和系统之间进行比较,而不是意味着所有数据库都应实现相同的吞吐量。例如,商业数据库可以实现比开源数据库更高的性能和可扩展性,但是这是可以预期的,因为商业数据库经过几十年的调整,在 HAMMerDB OLTP 测试衍生的 TPC-C 测试中表现良好从。此外,数据库被设计为在多个 CPU 上同时运行多个会话,因此无法通过单个用户测试来确定单个数据库的能力。在 2021 年最新的 2 套接字服务器上,根据硬件和软件配置,预计 MySQL 和 POSTGReSQL 将在 1,000,000 到 3,000 NOPM 的峰值范围内执行多个会话。建议使用 MySQL 8.0.20 和 POSTGReSQL 13.0 以上的版本以获得更高的性能。 HAMMerDB discussions forum on github 是提供特定 HAMMerDB 调整建议的最佳位置。
以上是大佬教程为你收集整理的使用 HammerDB 对 MySQL 进行基准测试全部内容,希望文章能够帮你解决使用 HammerDB 对 MySQL 进行基准测试所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。