与 Intel 相比,MariaDB 在 AMD 上的系统负载较高

与 Intel 相比,MariaDB 在 AMD 上的系统负载较高

我们遇到了 MariaDB 和 AMD Epyc 7402 的问题。我们也有性能低得多的 Intel 服务器,它们不会遇到这个问题,使用完全相同的配置(我们使用的是 ansible)。在 %usr 的总 CPU 负载超过 15% 的情况下,%sys 中的负载异常高。如果您需要的任何东西都缺失了,我可以以日志和/或配置的形式提供所需的一切。

HTOP负载 MySQL CPU平均值

对于初学者:

  • 操作系统:Centos 7(5.15.2-1.el7.elrepo.x86)
  • MariaDB:10.4.22-MariaDB
  • 该服务器作为 mysql 主服务器运行,总共有 8 个从服务器,但第二个网络接口上只有 4 个从服务器直接连接到它

硬件:

  • AMD EPYC 7402 24 核处理器 2x
  • 内存 528161544 kB 均匀分布在各个插槽中
  • 硬盘:英特尔 SSDPE2KX010T8 2x(mdraid、lvm 和 ext4)

我们尝试过: (单一和组合(有意义的地方))

  • jemalloc 3.6.0-1.el7
  • jemalloc 5.2.1-1.el7(我们自己用默认和新的 c++ 编译器编译的)
  • 内核-lt 5.4.160-1
  • 内核-lt 5.4.161-1
  • 内核-ml 5.15.2-1.el7.elrepo.x86
  • 内核-ml 5.12.1-1.el7.elrepo.x86
  • 内核 3.10.0-1160.45.1.el7
  • numactl --interleave=all

配置:

  • 我的cnf
[client]
port                           = 3306

[mysql]
no_auto_rehash
max_allowed_packet             = 1024M
prompt                         = '\u@\h [\d]> '
default_character_set          = utf8

[mysqld_safe]
open_files_limit               = 1024
user                           = mysql
log-error                      = /var/log/mysql/error.log

[mysqld]
# NETWORKING
bind-address                   = 0.0.0.0
port                           = 3306
socket                         = /var/lib/mysql/mysql.sock
skip-external-locking
max_connections                = 3000
max_user_connections           = 3000
datadir                        = /var/lib/mysql

# BUFFERS
key_buffer_size                = 256M
max_allowed_packet             = 1024M
table_open_cache               = 256
sort_buffer_size               = 1M
read_buffer_size               = 1M
read_rnd_buffer_size           = 4M
myisam_sort_buffer_size        = 64M

# QUERY CACHE
query_cache_type               = 1
query_alloc_block_size         = 8192
query_cache_limit              = 1024
query_cache_min_res_unit       = 512
query_cache_size               = 8388608

# STORAGE
default_storage_engine         = InnoDB
innodb_data_home_dir           = /var/lib/mysql
innodb_data_file_path          = ibdata1:10M:autoextend
innodb_log_group_home_dir      = /var/lib/mysql

# MEMORY LIMITS
innodb_buffer_pool_size        = 425G
innodb_log_file_size           = 60G
innodb_buffer_pool_instances   = 64
innodb_log_buffer_size         = 8M
innodb_lock_wait_timeout       = 50

# COLLATION
character_set_server           = utf8
collation_server               = utf8_unicode_ci

# MyISAM variables
key_buffer_size                = 1024M

# INNODB TWEAKING
innodb_file_format             = Barracuda
innodb_strict_mode             = ON
innodb_file_per_table          = 1
innodb_thread_concurrency      = 0
innodb-flush-method            = O_DIRECT

# General Tweaks
tmp_table_size                 = 2048M
max_heap_table_size            = 2048M

# Replication
server-id                      = 24
binlog-format                  = row
log_bin                        = mysql-bin
relay-log                      = mysql-relay-bin
log-slave-updates              = 1
expire_logs_days               = 3
log_bin_trust_function_creators = 1

# LOGGING - ERROR
log_error                      = /var/log/mysql/error.log
log_warnings                   = 2
innodb_print_all_deadlocks     = 1

# LOGGING - SLOW LOG
slow_query_log_file            = /var/log/mysql/slow.log
slow_query_log                 = 1
log_queries_not_using_indexes  = 0
long_query_time                = 10
min_examined_row_limit         = 100

# LOGGING - GENERAL LOG
general_log_file               = /var/log/mysql/general.log
general_log                    = 0

# REPLICATION
slave_compressed_protocol      = 1

# THREADING
thread_handling                = pool-of-threads
thread-pool-max-threads        = 6000

innodb_flush_log_at_trx_commit = 1
replicate_ignore_db            = norp_*

[myisamchk]
key_buffer_size                 = 128M
sort_buffer_size                = 128M
read_buffer                     = 2M
write_buffer                    = 2M

[mysqlhotcopy]
interactive-timeout

[mysqldump]
quick
max_allowed_packet              = 1024M

/etc/sysctl.conf

kernel.panic=30
vm.swappiness=10
net.ipv4.ip_local_port_range=10240 65000
net.core.rmem_default=524288
net.core.wmem_default=262144
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.ipv4.tcp_rmem=4096 87380 134217728
net.ipv4.tcp_wmem=4096 65536 134217728
net.ipv4.tcp_moderate_rcvbuf=1
net.ipv4.tcp_fin_timeout=10
net.core.netdev_max_backlog=300000
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_max_orphans=800000
net.ipv4.tcp_keepalive_intvl=20
net.ipv4.tcp_keepalive_probes=5
net.core.somaxconn=2048
net.core.dev_weight=256
net.core.netdev_tstamp_prequeue=0
net.ipv4.ipfrag_time=5
net.ipv4.tcp_ecn=1
net.ipv4.tcp_max_tw_buckets=20000
net.ipv4.tcp_retries2=7
net.ipv4.tcp_limit_output_bytes=262144
fs.file-max=500000
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1
net.ipv4.conf.eth0.arp_ignore=1
net.ipv4.conf.eth0.arp_announce=2
vm.overcommit_memory=1
net.ipv4.conf.default.rp_filter=0
vm.overcommit_memory = 1

PT-Mysql-概要

# Status Counters (Wait 10 Seconds) ##########################
Variable                                Per day  Per second     13 secs
Aborted_clients                               6
Acl_database_grants                        1500
Acl_proxy_users                              15
Acl_users                                  1500
Aria_pagecache_blocks_not_flushed         70000                     -16
Aria_pagecache_blocks_unused               2500                     -29
Aria_pagecache_blocks_used               100000           1
Aria_pagecache_read_requests        17500000000      225000      200000
Aria_pagecache_reads                  100000000        1250        3500
Aria_pagecache_write_requests        1500000000       17500       15000
Aria_pagecache_writes                 600000000        7000        7000
Aria_transaction_log_syncs                 3000
Binlog_commits                          5000000          60          60
Binlog_group_commits                    5000000          60          60
Binlog_snapshot_position             5000000000       60000     1750000
Binlog_bytes_written                35000000000      400000     1750000
Binlog_cache_disk_use                     45000                       1
Binlog_cache_use                        5000000          60          60
Binlog_stmt_cache_use                        20
Bytes_received                      225000000000     2500000     2250000
Bytes_sent                          1000000000000    12500000    10000000
Com_admin_commands                         9000
Com_begin                                 70000                       1
Com_call_procedure                         1250
Com_commit                                70000                       1
Com_delete                              1250000          15
Com_insert                             10000000         125         450
Com_insert_select                          2500
Com_rollback                                600
Com_select                            350000000        4000        3500
Com_set_option                         60000000         600         700
Com_show_slave_status                      9000
Com_show_status                           12500
Com_show_tables                             600
Com_show_variables                           45
Com_update                             20000000         225         900
Com_update_multi                             70
Connections                            30000000         350         350
Created_tmp_disk_tables                 7000000          80          70
Created_tmp_files                         80000                       1
Created_tmp_tables                      9000000         100         100
Delete_scan                                 250
Empty_queries                          90000000        1000        1000
Executed_triggers                      50000000         600        1000
Feature_check_constraint                      6
Feature_json                                  6                       7
Feature_subquery                        1500000          20          20
Feature_trigger                         6000000          70         125
Flush_commands                                6
Handler_commit                        400000000        5000        6000
Handler_delete                          9000000         100
Handler_discover                            250
Handler_icp_attempts                12500000000      150000       60000
Handler_icp_match                   12500000000      150000       60000
Handler_prepare                        60000000         700        2500
Handler_read_first                       200000           2           1
Handler_read_key                    30000000000      400000      400000
Handler_read_last                       1250000          15          15
Handler_read_next                   300000000000     3500000     2250000
Handler_read_prev                   17500000000      200000      150000
Handler_read_rnd                    12500000000      150000      125000
Handler_read_rnd_deleted                    250
Handler_read_rnd_next               30000000000      300000      150000
Handler_rollback                         150000           1           2
Handler_tmp_update                    125000000        1500
Handler_tmp_write                   17500000000      200000      200000
Handler_update                         22500000         250        1250
Handler_write                          12500000         150         600
Innodb_buffer_pool_bytes_data       500000000000     6000000     4500000
Innodb_buffer_pool_bytes_dirty      125000000000     1250000     1000000
Innodb_buffer_pool_pages_flushed          70000
Innodb_buffer_pool_read_ahead            125000           1
Innodb_buffer_pool_read_requests    300000000000     3500000     3000000
Innodb_buffer_pool_reads               30000000         350         250
Innodb_buffer_pool_write_requests     350000000        4000        7000
Innodb_data_fsyncs                      5000000          60          70
Innodb_data_read                    500000000000     6000000     4500000
Innodb_data_reads                      35000000         400         250
Innodb_data_writes                      5000000          60          70
Innodb_data_written                 25000000000      300000      600000
Innodb_dblwr_pages_written                70000
Innodb_dblwr_writes                       50000
Innodb_log_write_requests              35000000         400         900
Innodb_log_writes                       5000000          60          70
Innodb_os_log_fsyncs                    5000000          60          70
Innodb_os_log_written               22500000000      250000      600000
Innodb_pages_created                     100000           1           3
Innodb_pages_read                      35000000         400         250
Innodb_pages_written                      70000
Innodb_row_lock_time                     175000           1
Innodb_row_lock_waits                      2250
Innodb_rows_deleted                     5000000          60
Innodb_rows_inserted                    4500000          50         100
Innodb_rows_read                    400000000000     4500000     3000000
Innodb_rows_updated                    22500000         250        1250
Innodb_system_rows_read                       6
Innodb_num_open_files                      2000
Innodb_available_undo_logs                  800
Innodb_secondary_index_triggered_cluster_reads 60000000000      700000      600000
Key_read_requests                          1250
Key_reads                                   400
Memory_used                         10000000000      125000     1250000
Memory_used_initial                  8000000000       90000
Open_table_definitions                     2500
Opened_files                           35000000         400         450
Opened_table_definitions                  17500                       1
Opened_tables                          15000000         175         300
Opened_views                                250
Qcache_hits                             3500000          40         100
Qcache_inserts                              250
Qcache_not_cached                     600000000        7000        6000
Queries                               500000000        6000        7000
Questions                             450000000        5000        6000
Rows_read                           125000000000     1500000     1250000
Rows_sent                            2250000000       25000       15000
Rows_tmp_read                       17500000000      200000      175000
Select_full_join                         175000           2           2
Select_full_range_join                   125000           1           2
Select_range                           25000000         300         250
Select_range_check                          125
Select_scan                             2500000          30          20
Slave_connections                            25
Slaves_connected                             25
Slow_queries                              30000
Sort_merge_passes                         40000
Sort_priority_queue_sorts              20000000         225         200
Sort_range                             30000000         350         300
Sort_rows                            9000000000      100000       90000
Sort_scan                               5000000          60          35
Subquery_cache_hit                        20000
Subquery_cache_miss                     2500000          30          20
Syncs                                      9000
Table_locks_immediate                     50000                       2
Table_open_cache_active_instances             6
Table_open_cache_hits                 800000000        9000       17500
Table_open_cache_misses                15000000         175         300
Table_open_cache_overflows             12500000         125         300
Threadpool_idle_threads                    2500                      -3
Threadpool_threads                         3000
Threads_created                           70000
Update_scan                                  20
Uptime                                    90000           1           1
wsrep                               1250000000000    15000000  1000000000
# Table cache ################################################
                     Size | 256
                    Usage | 100%
# InnoDB #####################################################
                  Version | 10.4.22
         Buffer Pool Size | 432.0G
         Buffer Pool Fill | 20%
        Buffer Pool Dirty | 3%
           File Per Table | ON
                Page Size | 16k
            Log File Size | 2 * 60.0G = 120.0G
          Log Buffer Size | 8M
             Flush Method | O_DIRECT
      Flush Log At Commit | 1
               XA Support |
                Checksums | ON
              Doublewrite | ON
          R/W I/O Threads | 4 4
             I/O Capacity | 200
       Thread Concurrency | 0
      Concurrency Tickets | 5000
       Commit Concurrency | 0
      Txn Isolation Level | REPEATABLE-READ
        Adaptive Flushing | ON
      Adaptive Checkpoint |
           Checkpoint Age | 2G
             InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
       Oldest Transaction | 0 Seconds
         History List Len | 49981
               Read Views | 41
         Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
        Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
       Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
      Pending I/O Flushes | 0 buf pool, 0 log
       Transaction States | 41xACTIVE, 148xnot started
# MyISAM #####################################################

vmstat -1

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
66  0      0 382036288 258372 23430352    0    0  3872 99095 201601 554506 16 49 35  0  0
60  0      0 382076832 258372 23444996    0    0  3472  4880 193726 557287 17 50 33  0  0
60  0      0 382070048 258372 23430188    0    0  3568  4496 186601 533398 16 51 33  0  0
61  0      0 382029760 258372 23424988    0    0  3472  4220 190556 537991 14 54 32  0  0
75  0      0 382012704 258372 23445704    0    0  3648  4360 179687 527781 11 62 27  0  0
71  0      0 382003648 258372 23469492    0    0  3536 75513 196280 531335 16 64 20  0  0
78  0      0 382000704 258372 23495520    0    0  3552  2384 189606 543385 13 67 20  0  0
85  0      0 381998528 258372 23511724    0    0  3392  3113 232940 531062 14 74 12  0  0
80  0      0 382065728 258372 23474704    0    0  3744  3192 199559 541724 13 70 17  0  0
78  0      0 382070784 258372 23445872    0    0  3692  4314 196798 552624 15 69 17  0  0
75  0      0 382059680 258372 23464400    0    0  3536  2924 197860 511828 13 66 21  0  0
84  0      0 382105184 258372 23489224    0    0  3616  3724 206273 535082 13 73 14  0  0
84  0      0 382134016 258372 23475792    0    0  3472  2293 215286 520198 12 77 11  0  0
84  0      0 382123136 258372 23472120    0    0  3568  3097 205254 525508 13 72 15  0  0
82  0      0 382153728 258372 23494132    0    0  6912  3952 233188 538006 14 72 14  0  0
81  0      0 382128064 258372 23502312    0    0  3616  3284 184822 521364 13 70 17  0  0
75  0      0 382123776 258372 23541176    0    0  3776  2872 207498 536109 12 72 16  0  0
83  0      0 382160096 258372 23540552    0    0  3536  3306 202817 551826 15 68 18  0  0
65  0      0 382205664 258372 23504828    0    0  3648  2692 190065 551570 14 61 25  0  0
62  0      0 382176576 258372 23508872    0    0  4816  4964 186138 560683 12 58 30  0  0
55  0      0 382215264 258372 23448712    0    0  3616  4165 166252 558690 11 46 43  0  0
52  0      0 382219872 258372 23430824    0    0  3584 167357 178906 592052 15 42 41  2  0
47  0      0 382217472 258372 23379732    0    0  6752  2976 178652 547447 15 40 45  0  0
46  0      0 382210624 258372 23358184    0    0  3744  2800 186172 543690 15 38 46  0  0
47  0      0 382180192 258372 23351812    0    0  8896  3976 166141 530729 15 34 51  0  0
51  0      0 382159808 258372 23362736    0    0  3568  2772 171856 559503 18 34 47  0  0
47  0      0 382181024 258372 23364880    0    0  4112  3232 165595 516269 12 39 49  0  0
46  0      0 382229728 258372 23371168    0    0  3616  3447 151896 515363 14 36 49  0  0
52  0      0 382223136 258372 23332020    0    0  4672  2674 180962 556582 14 39 47  0  0
60  0      0 382214336 258372 23347904    0    0  3568  2960 169390 522171 12 46 42  0  0
62  0      0 382228512 258372 23384148    0    0  3696  3686 191964 532110 15 49 36  0  0
65  0      0 382184832 258372 23405920    0    0  3584  4528 183894 541259 15 54 31  0  0
72  0      0 382199488 258372 23394256    0    0  3584  2345 194048 538938 15 60 25  0  0
80  0      0 382209600 258372 23405216    0    0 12128  4376 192327 513727 13 66 21  0  0
70  0      0 382176608 258372 23437752    0    0  3776  2748 216748 533426 15 67 18  0  0
69  0      0 382180928 258372 23458208    0    0  6816  4772 192280 549678 14 62 24  0  0
61  0      0 382196640 258372 23427652    0    0  4016 57509 193263 542982 12 64 24  0  0
70  0      0 382233216 258372 23434848    0    0  3648 89949 191647 541364 12 57 30  0  0
74  0      0 382189856 258372 23442084    0    0  3520  2632 186482 573915 14 60 26  0  0
62  0      0 382155744 258372 23445880    0    0  3888  5436 178857 559573 14 55 30  0  0
73  0      0 382158304 258372 23420096    0    0  3712  3800 180457 551695 15 55 30  0  0
77  0      0 382161760 258372 23402016    0    0  3488  3768 208621 542433 16 62 22  0  0
68  1      0 382149664 258372 23412868    0    0  6704  3777 184064 534328 14 60 26  0  0
69  1      0 382120896 258372 23409916    0    0  3728  4153 178721 518152 13 59 28  0  0
83  0      0 382115968 258372 23472716    0    0  3376  4576 190548 522075 15 69 17  0  0
23  1      0 381906176 258372 23575532    0    0  3792  4595 220719 560955 20 71 10  0  0
86  1      0 382011392 258372 23485620    0    0  3680  5765 217555 560589 20 71  9  0  0
72  1      0 382006240 258372 23484148    0    0  4544  5158 195189 540771 18 67 14  0  0
75  1      0 381983744 258372 23507208    0    0  3520  4404 192868 535709 15 63 22  0  0
72  1      0 381939328 258372 23526672    0    0  3632  4000 179945 545377 15 62 23  0  0
70  1      0 381931392 258372 23511188    0    0  7952  4904 181942 528306 15 60 26  0  0
78  1      0 381927520 258372 23541316    0    0  4032  5773 202670 530372 13 63 23  0  0
79  1      0 381914752 258372 23548560    0    0  3200  3520 202867 536863 14 68 18  0  0

Numa Interleave 已启用

cat /proc/`pidof mysqld`/numa* | grep interleave | wc -l
1430

相关内容