我试图使用MySQL的TPROC基准对HammerDB进行基准测试。这是我正在做的一项研究的一部分,我正在对MySQL和PostgreSQL进行基准测试。在使用PostgreSQL运行了所有的基准之后,我开始对MySQL进行基准测试,对这种差异感到惊讶!
根据HammerDB的站点,NOPM应该可以在RDBMS之间进行比较,但是数量太少,以至于我认为我的方法是错误的,或者我的调优参数影响了性能。
我的意图是用100个仓库和不同数量的虚拟用户运行他们的基准。
使用PostgreSQL,只有一个虚拟用户的NOPM约为14000,而使用MySQL,则可获得大约3800个。
I不是想发动一场战争
如果有人能给我指明正确的方向,那才是真正有帮助的。
我在Docker上运行MySQL和PostgreSQL,并提供了最新的图片。
这两种图像都被限制在12 on的内存内,HammerDB正在主机上运行。
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 16 HT M.2 nvme SSD
至于HammerDB选项:
Timed Driver Script (same as PG)
1000000 total 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)我非常乐意回答任何问题!
我不是以英语为母语的人,所以请原谅我的任何错误。
发布于 2021-07-09 12:32:23
HammerDB网站上的建议是,NOPM (每分钟新订单)值可以在数据库之间进行比较,这意味着NOPM可以用于不同数据库和系统之间的比较,而不是意味着所有数据库都应该达到相同的吞吐量。例如,商业数据库可以获得比开源数据库更高的性能和扩展性,但这是可以预期的,因为商业数据库经过几十年的调优,在HammerDB OLTP测试的TPC-C测试中表现良好。此外,数据库被设计为在多个CPU上同时运行多个会话,因此很少能够通过单个用户测试来确定单个数据库的能力。在2021年最新的2套接字服务器上,根据硬件和软件配置的不同,期望MySQL和PostgreSQL在峰值范围内执行1,000,000到3,000,000 NOPM的多个会话。为了提高性能,建议使用MySQL 8.0.20和PostgreSQL 13.0以上版本。关于github的HammerDB论坛是进行特定HammerDB调优建议的最佳场所。
https://stackoverflow.com/questions/68294301
复制相似问题