数据库如何在更快的磁盘上获得较差的基准测试结果?

问题描述 投票:0回答:2

我正在对DigitalOcean(DO)和AWS EC2(t3a.small)的可比较(2vCPU,2G RAM)服务器(Ubuntu 18.04)进行基准测试。

磁盘基准(fio)与https://dzone.com/articles/iops-benchmarking-disk-io-aws-vs-digitalocean的结果保持一致

摘要:

DO-

读取:bw = 218MiB / s(229MB / s),218MiB / s-218MiB / s(229MB / s-229MB / s),io = 3070MiB(3219MB),运行= 14060-14060msec]

WRITE:bw = 72.0MiB / s(76.5MB / s),72.0MiB / s-72.0MiB / s(76.5MB / s-76.5MB / s),io = 1026MiB(1076MB),运行= 14060-14060msec

EC2-

读取:bw = 9015KiB / s(9232kB / s),9015KiB / s-9015KiB / s(9232kB / s-9232kB / s),io = 3070MiB(3219MB),运行= 348703-348703msec

WRITE:bw = 3013KiB / s(3085kB / s),3013KiB / s-3013KiB / s(3085kB / s-3085kB / s),io = 1026MiB(1076MB),运行= 348703-348703msec

显示DO磁盘比EC2的EBS快10倍以上

但是,https://severalnines.com/database-blog/how-benchmark-postgresql-performance-using-sysbench之后的sysbench显示的DO slower比EC2(使用Postgres 11默认配置,对oltp_legacy / oltp.lua进行读写测试)

DO-

交易次数:14704(每秒243.87)

延迟(毫秒):

分钟:9.06

平均:261.77

最大:2114.04

第95百分位数:383.33

EC2-

交易次数:20298(每秒336.91)

延迟(毫秒):

分钟:5.85

平均:189.47

最大:961.27

95个百分位:215.44

可能是什么解释?

database postgresql performance amazon-ec2 benchmarking
2个回答
0
投票

0
投票
对于读取(SELECT),最重要的因素是拥有足够的RAM,以将您的工作集保留在缓存中,而不执行任何实际的IO。如果失败,则为读取随机访问时间。

对于写入(UPDATE,INSERT),fsync延迟(将数据提交到稳定存储所需的时间,是最重要的因素,因为数据库仅在写入数据后才会完成COMMIT。

很有可能EC2具有更好的随机访问和fsync性能。也许它使用SSD或电池支持的缓存。

© www.soinside.com 2019 - 2024. All rights reserved.