Mysql – innodb high i/o , some parameters make thesql crash

innodbMySQLmysql-5.7

i have a windows 2012 server with 16 core cpu and 64 gig of ram and 3*146gig sas 15k that have been used as a database server and just have mysql installed as a part of xampp.

the mysql version is 5.7.x

i tried some different configs but when some parameters changing mysql dont start anyway!

1)when i set innodb_dedicated_server mysql dont start

innodb_dedicated_server = true

2)when i set innodb_buffer_pool_size , innodb_buffer_pool_instances , innodb_buffer_pool_chunk_size together mysql dont work too

innodb_buffer_pool_size = 40G
innodb_buffer_pool_instances = 40
innodb_buffer_pool_chunk_size = 1G

but when i set these configures mysql start working correctly (innodb_buffer_pool_instances , innodb_buffer_pool_chunk_size are commented)

port        = 3306
socket      = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_connection=5000
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

max_allowed_packet=1048576


innodb_io_capacity = 2000
innodb_read_io_threads = 64
innodb_thread_concurrency = 0
innodb_write_io_threads = 64


#innodb_buffer_pool_size=40G
#innodb_log_file_size=2G

#innodb_dedicated_server = true

innodb_buffer_pool_size = 20G
#innodb_buffer_pool_instances = 20
#innodb_buffer_pool_chunk_size = 1G

how can i get a better performance?!

updates:

my.cnf

SHOW GLOBAL STATUS;

SHOW GLOBAL VARIABLES;

SHOW FULL PROCESSLIST;

SHOW ENGINE INNODB STATUS;

MySQLTuner.pl

Best Answer

Rate Per Second = RPS - Suggestions to consider for your my.ini [mysqld] section

max_connections=1200  # from 5000 because max_used_connections = 930
thread_cache_size=256  # from 12 to reduce threads_created of 746 in 3 days
read_rnd_buffer_size=256K  # from 8M to reduce handler_read_rnd_next RPS of 4,628
read_buffer_size=256K  # from 20M to reduce about 98% of read effort by CPU, media

MySQLTuner.pl indicates you have 32G rather than 64G indicated in your question per their line Maximum possible memory usage: 169.7G (530% of installed RAM)

The posted results of MySQLTuner.pl appears to just be part of their reporting.

What is going on with all the KILL activities reported by SHOW FULL PROCESSLIST?

Your version is 10.1.39 and MariaDB rather than 5.7.x as listed in the Question, please correct the Question with Edit.

Disclaimer: I am the content author of website mentioned in my profile, Network profile. Additional helpful suggestions could be provided.