nrep
Well-known member
I've got a new server (Windows 2012R2 / IIS) and I'm seeing if there's anything I can do to tweak MySQL to get a little bit more out of it. It runs well on the current config, but I'd appreciate advice on further optimisations. The server runs a mixture of XF/VB/Wordpress sites of varying sizes. InnoDB used virtually everywhere, even for the XF search index as MySQL 5.6 supports fulltext on InnoDB - hence the high innodb_buffer_pool_size.
Server specs:
Dual Processor Hex Core Xeon 2620
32GB DDR4
RAID 1 - 2 x 400GB SSD
Windows 2012R2
IIS
MySQL 5.6
PHP 5.5
Here's the MySQL Tuner Advice:
My.ini:
I should perhaps add that I'm considering disabling the query cache to see how that goes, considering I'm using MySQL 5.6.
Server specs:
Dual Processor Hex Core Xeon 2620
32GB DDR4
RAID 1 - 2 x 400GB SSD
Windows 2012R2
IIS
MySQL 5.6
PHP 5.5
Here's the MySQL Tuner Advice:
Code:
MySQL Tuner 0.7 - Peter Chapman <peter@conglomo.co.nz>
Currently running supported MySQL version 5.6.21-log
Operating on 64-bit architecture
Archive Engine Installed
Berkeley DB Engine Not Installed
Federated Engine Not Installed
InnoDB Engine Installed
ISAM Engine Not Installed
NDBCLUSTER Engine Not Installed
Data in InnoDB tables: 92G (Tables: 12654)
Data in MEMORY tables: 137M (Tables: 196)
Data in MyISAM tables: 18M (Tables: 44)
Total fragmented tables: 987
All database users have passwords assigned
Up for: 15d 22h 5m 5s (827M q [601.000 qps], 46M conn, TX: 16885G, RX: 212G)
Reads / Writes: 73% / 27%
Total buffers: 22.3G global + 3.5M per thread (500 max threads)
Maximum possible memory usage: 24.0G (75% of installed RAM)
Slow queries: 1% (657/827M)
Highest usage of available connections: 68% (336/500)
Key buffer size / total MyISAM indexes: 128.0M/193.0K
Key buffer hit rate: 99% (195K cached / 16 reads)
Query cache efficiency: 59% (341M cached / 584M selects)
Query cache prunes per day: 10502223
Sorts requiring temporary tables: 1% (214K temp sorts / 26M sorts)
Joins performed without indexes: 7349003
Temporary tables created on disk: 46% (2M on disk / 5M total)
Thread cache hit rate: 99% (336 created / 46M connections)
Table cache hit rate: 2% (10K open / 362K opened)
Open file limit used: 0% (100/67K)
Table locks acquired immediately: 99% (504M immediate / 504M locks)
InnoDB data size / buffer pool: 93.0G/22.0G
Run OPTIMIZE TABLE to defragment tables for better performance
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
query_cache_size (> 128M)
join_buffer_size (> 1.0M, or always use indexes with joins)
tmp_table_size (> 256M)
max_heap_table_size (> 16M)
table_cache (> 10240)
innodb_buffer_pool_size (>= 92G)
Scan Complete
My.ini:
Code:
default-character-set=latin1
default_storage_engine = InnoDB
[mysqld]
bind-address = 0.0.0.0
port=3307
character-set-server=latin1
default-storage-engine=INNODB
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=500
query_cache_size=128M
table_open_cache=10240
tmp_table_size=256M
thread_cache_size=512
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=128M
key_buffer_size=128M
read_buffer_size=1M
read_rnd_buffer_size=1M
sort_buffer_size=2M
innodb_additional_mem_pool_size=26M
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size=4M
innodb_buffer_pool_size=22G
innodb_log_file_size=256M
innodb_thread_concurrency=0
innodb_autoextend_increment=64M
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=70
flush_time=0
join_buffer_size=1M
max_allowed_packet = 64M
max_connect_errors=1000000
open_files_limit=65535
query_cache_type=1
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
transaction_alloc_block_size = 8M
transaction_prealloc_size = 4M
query_cache_limit = 4M
query_prealloc_size = 262144
bulk_insert_buffer_size = 8M
query_alloc_block_size = 256M
I should perhaps add that I'm considering disabling the query cache to see how that goes, considering I'm using MySQL 5.6.