首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django MariaDB-Galera在K8s上的性能

问Django MariaDB-Galera在K8s上的性能
EN

Stack Overflow用户
提问于 2021-01-09 08:38:26
回答 1查看 85关注 0票数 0

我目前正在尝试为我的应用程序找到一个好的数据库解决方案,它可以在“大规模”的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上的数据库设置:

代码语言:javascript
复制
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'),
    }
}

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-01-09 09:38:12

INSERT一次一行很慢。这些是更快的:

  • 批处理插入(单个INSERT中的多行)。建议在time.
  • LOAD DATA INFILE

中使用100到1000行

查询缓存减慢了插入的速度。无论如何,这在Galera上是不允许的。

节点之间的距离(以毫秒为单位)有多远?

这是非常高的,回到默认值:

代码语言:javascript
复制
tmp_table_size=2G
max_heap_table_size=2G

有些地方指定utf8,有些地方指定utf8mb4。后者是首选的。这种不一致可能会导致一些性能延迟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65638183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档