我最近有一台新的专用MySQL机器。现在它运行正常,但有时它会因查询状态而大大减慢:复制到tmp表。它似乎是随机发生的。
该机器具有12GB的DDR3内存,并在带有(4x 15k RPM SAS驱动器)的RAID10设置中运行。
这台机器拥有5个数据库,每个数据库的大小分别为1到8GB。读/写:66%/ 34%
下面是我的my.cnf文件。如果有人有性能优化提示,我很乐意听到。
[mysqld]
skip-name-resolve
datadir=/var/lib/mysql
#socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
old_passwords=0
max_connections = 1500
table_cache = 1024
max_allowed_packet = 16M
sort_buffer_size = 2M
thread_cache = 8
thread_concurrency = 32
query_cache_size = 0M
query_cache_type = 0
default-storage-engine = innodb
transaction_isolation = REPEATABLE-READ
tmp_table_size = 256M
long_query_time = 3
log_slow_queries = 1
innodb_additional_mem_pool_size=48M
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size=32M
innodb_buffer_pool_size=6G
innodb_autoinc_lock_mode=2
innodb_io_capacity=500
innodb_read_io_threads=16
innodb_write_io_threads=8
innodb_buffer_pool_size = 5000M
innodb_lock_wait_timeout = 300
innodb_max_dirty_pages_pct = 90
innodb_thread_concurrency =32
答案 0 :(得分:0)
我似乎已经找到了解决方案。 max_heap_table_size没有设置。这个有限的tmp_table_size。我现在已经将这两个值设置为512米。