0

我最近得到了一台新的专用 MySQL 机器。现在它运行良好,但有时它会因以下状态的查询而减慢很多:复制到 tmp 表。这似乎是随机发生的。

该机器有 12GB 的 DDR3 内存,并在 RAID10 设置中运行(4 个 15k RPM SAS 驱动器)。

这台机器托管 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
4

1 回答 1

0

看来我自己找到了解决方案。未设置 max_heap_table_size。这个有限的 tmp_table_size。我现在将两个值都设置为 512m。

于 2011-07-05T09:28:16.027 回答