我目前正在尝试为我的应用程序找到一个好的数据库解决方案,它可以在“大规模”的K8s上运行。因此,我开始尝试使用MariaDB Galera,但没有任何进一步的经验。我注意到写入性能相当慢。在一个单实例MariaDB上,我可以在大约2,75秒内写出500行,每行有7个字段(单表)。使用Galera时,相同的插入大约需要12-15秒。有时甚至超过20秒。为什么呢?
我在高端硬件上运行,配备NVMe驱动器、10Gbit网络和Epyc CPU。开销应该很小,因为一切都在容器中运行。这个“问题”是Galera的本质还是我的配置有问题?!请查看此处:https://pastebin.com/mvb3Ndww
我已经尝试了query_cache_type和query_cache_size,但到目前为止还没有真正的成功……
我的CSI是openebs-hostpath,通过本地连接的磁盘为每个容器/Pod提供最大性能。
我在settings.py上的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'init_command': 'SET innodb_strict_mode=1',
'connect_timeout': 30,
'charset': 'utf8mb4',
},
'NAME': env.str('MYSQL_DATABASE'),
'USER': env.str('MYSQL_USER'),
'PASSWORD': env.str('MYSQL_PASSWORD'),
'HOST': env.str('MYSQL_HOST'),
'PORT': env.str('MYSQL_PORT'),
}
}提前感谢
发布于 2021-01-09 09:38:12
INSERT一次一行很慢。这些是更快的:
INSERT中的多行)。建议在time.LOAD DATA INFILE中使用100到1000行
查询缓存减慢了插入的速度。无论如何,这在Galera上是不允许的。
节点之间的距离(以毫秒为单位)有多远?
这是非常高的,回到默认值:
tmp_table_size=2G
max_heap_table_size=2G有些地方指定utf8,有些地方指定utf8mb4。后者是首选的。这种不一致可能会导致一些性能延迟。
https://stackoverflow.com/questions/65638183
复制相似问题