MariaDB 10.1 可每秒处理一百万次查询? 400 报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

MariaDB 10.1 可每秒处理一百万次查询? 400 报错

爱吃鱼的程序员 2020-06-03 13:11:08 32

MariaDB 10.1 可每秒处理一百万次查询? 400 报错

MariaDB 10.1 不仅仅包含大量的新特性,同时还有非常大的性能提升。最重要的改进是大量多线程硬件扩展。

以下的数据是 MariaDB-10.1.8 和 MariaDB-10.0.21 基于简单 OLTP 基准 SysBench 工具测试的对比:

queries per second in simplified OLTP
 OLTP clients   MariaDB-10.0.21   MariaDB-10.1.8   increase 
160 398124 930778 135%
200 397102 1024311 159%
240 395661 1108756 181%
320 396285 1142464 190%

基准测试详情

此基准测试是 sysbench-mariadb  (sysbench 主干的一个修复,提供可以生成更多的随机数的生成器)  OLTP 简单测试每个事物 1000 点选项。数据集是 20 张表的 100 万行。可以使用更好的表,但是低于 4 个表,性能会有所下降,因为表定义缓存的一个热响应区。

测试所使用的 my.cnf:

[mysqld]
max_connections = 400
table_open_cache = 800
query_cache_type = 0
innodb_buffer_pool_size = 512M
innodb_buffer_pool_instances = 10
innodb_adaptive_hash_index_partitions = 20

性能测试命令行:

sysbench-mariadb --test=lua/oltp.lua --oltp-tables-count=20 \
--oltp-table-size=50000 --num-threads=... --oltp-read-only=on \
--oltp-point-selects=1000 --oltp-distinct-ranges=0 \
--oltp-simple-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 \
--max-time=100 --max-requests=0 run

硬件/软件 详情

基准测试在 IBM “Firestone” S822LC  Power8 服务器上运行,服务器包含 2 sockets, 20 cores 和 8-way SMT (160 hardware  threads)。机器运行 PowerKVM 3.1 和在 KVM 运行一个 Ubuntu 14.04.3  LTS (ppc64le) guest。MariaDB-10.1.8sysbench-mariadb 使用 IBM 的 Advance Tool Chain 8.0 编译器在本地进行编译。

最后

MariaDB 源代码的改进大大的提升了性能,也是移植 MariaDB 移植到 Power8 的一部分,一些值得关注的改进:

MDEV-6089 MySQL WL#7305 “使用 lock-free hash 改进 MDL 扩展性”

MDEV-7004 从 10.0-power 合并扩展性修复

MDEV-7324 为表定义缓存提供 Lock-free hash

IBM 发布了一些在 Power8 的 MariaDB 白名单,还有对比 Intel 硬件,MariaDB 如何在 Power8 上运行的细节。

本文发表在 MariaDB 性能博客
关系型数据库
分享到
取消 提交回答
全部回答(1)
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题