Mysql

MySQL / Fusion IO 配置問題

  • October 2, 2014

我需要一點配置優化。我認為我所擁有的非常好,但感覺仍有改進的空間。

目前配置

[mysqld]
user=mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

#innodb
innodb_log_file_size = 256M
innodb_log_buffer_size = 32M

innodb_read_io_threads=8
innodb_write_io_threads=8

innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout=50
innodb_file_per_table
innodb_buffer_pool_size=16G
innodb_buffer_pool_instances=8
innodb_io_capacity=10000
#eliminating double buffering
innodb_flush_method = O_DIRECT
flush_time=86400

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
#tmpdir=/dev/shm
#tmpdir=/usr/tmpfs
skip-name-resolve
#skip-locking
#safe-show-database
query_cache_limit=4M
query_cache_size=256M
sort_buffer_size=8M
read_rnd_buffer_size=1M
max_connections=5000
interactive_timeout=60
wait_timeout=300
connect_timeout=30
thread_cache_size=32
key_buffer=124M
tmp_table_size=4096M
max_heap_table_size=256M
join_buffer=16M
max_connect_errors=2000
table_cache=2048
thread_concurrency=12
long_query_time=5
log-slow-queries=/var/log/mysql-slow.log
#table_definition_cache=384
max_allowed_packet=1024M
#server-id=20
#log-bin=mysql-bin
#expire_logs_days=10

event_scheduler=ON

#master-host =
#master-user =
#master-password =
#master-port = 3306

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

專用數據庫伺服器規格

  • 虛擬機
  • 雙四路 Xeon X5680 @ 3.33GHz (8 vCPU)
  • 24GB 記憶體
  • Fusion IO 掛載在 /var/lib/mysql
  • 所有數據庫之間大約總共有 500 個表

我知道這類問題確實需要關注數據庫伺服器,但我很樂意根據需要將資訊附加到這個問題,以獲得更好的配置。

我在這裡先向您的幫助表示感謝。

這類似於我兩個月前回答的問題:MySQL using too much CPU

FusionIO 傾向於 CPU 攻擊性強。你將不得不反擊

我還會將max_connections降低到 2000,除非您確定會同時獲得超過 4500 個數據庫連接。如果確實需要 5000,請將 VM 的 RAM 升級到 48GB。

試一試 !!!

引用自:https://dba.stackexchange.com/questions/48698