我正在配置一个在MySQL8上运行CentOS7的新unix框。这个盒子是hyperV上的专用数据库服务器,16 CPU的64 Gb内存,2Tb的SSD空间。我的配置文件如下所示。服务器主要用于生产OLAP处理。我的问题是:
- My.Cnf --
[client]
#########Connect to 3306
port=3306
socket=/mysqldata/mysql-logs/mysql.sock
[mysqld]
#########User mysql as user
port=3306
user=mysql
basedir=/mysqldata/mysql
datadir=/mysqldata/mysql/innodb/
log_error=/mysqldata/mysql-logs/mysql.err
general_log_file=/mysqldata/mysql-logs/mysql.general.log
socket=/mysqldata/mysql-logs/mysql.sock
#########General
max_connections=200
table_open_cache=4000
table_open_cache_instances=16
back_log=50
default_authentication_plugin=mysql_native_password
character_set_server=latin1
skip-character-set-client-handshake
skip_log_bin=1
performance_schema=OFF
lc_messages_dir = /opt/mysql/share
lc_messages = en_US
######### Temporary table
tmp_table_size = 2000M
max_heap_table_size = 2000M
######### Slow Query
slow_query_log = 1
slow_query_log_file=/mysqldata/mysql-logs/mysql-slow-query.log
long_query_time = 30
######### Files
innodb_log_group_home_dir=/mysqldata/innodb-logs/
innodb_log_file_size=2048M
innodb_log_files_in_group=5
innodb_open_files=4000
######### Innodb Buffer
innodb_buffer_pool_size=40G
innodb_buffer_pool_instances=16
innodb_log_buffer_size=64M
######### Tune
#########Happy to risk 1 sec of data loss for improved performance
innodb_flush_log_at_trx_commit=2
######### These two lines below for max dirty page are server defauls from 8.0.3
innodb_max_dirty_pages_pct=90
innodb_max_dirty_pages_pct_lwm=10
#########innodb_flush_method=O_DIRECT_NO_FSYNC
#########innodb_checksum_algorithm=none
innodb_io_capacity=10000
innodb_io_capacity_max=40000
innodb_page_cleaners=16
innodb_undo_log_truncate=off
######### perf special
innodb_adaptive_flushing=1
innodb_flush_neighbors=0
innodb_read_io_threads=16
innodb_write_io_threads=16
innodb_purge_threads=4
innodb_adaptive_hash_index=0
######### monitoring
innodb_monitor_enable='%'发布于 2018-07-19 14:06:51
将这些内存保持在1%以下,否则可能导致交换,这是不好的:
tmp_table_size = 2000M
max_heap_table_size = 2000M其他人看上去很合理。在你跑了一段时间之前,无法预测还有什么东西需要改变。
是你的sysbench测试决定了fsync吗?多年来,O_DIRECT一直是人们普遍的思维方式。
您会为OLAP构建和维护汇总表吗?这通常是数据仓库中最重要的性能问题。调整设置可以帮助你几个百分点,总结可以给你10倍。
https://dba.stackexchange.com/questions/212616
复制相似问题