MySQL configuration with 256GB I need suggestions for my.cnf optimization. Currently I have a server with 256GB Ram and 40(CPUs) along with website hosted on this server.

My Wordpress database size is around 1GB and using myISAM tables.

[mysqld]
bind-address    = 127.0.0.1
performance-schema=1
# GENERAL #
user                           = mysql
default-storage-engine         = InnoDB
socket                         = /var/lib/mysql/mysql.sock
pid-file                       = /var/lib/mysql/mysql.pid
#tmpdir                = /tmp
tmpdir                 = /dev/shm

# MyISAM #
key-buffer-size                = 1024M
myisam-sort-buffer-size        = 512M
join_buffer_size = 4M
read_buffer_size = 4M
sort_buffer_size = 4M
read_rnd_buffer_size = 4M
myisam-recover                 = FORCE,BACKUP

# SAFETY #
max-allowed-packet             = 16M
max-connect-errors             = 1000000
skip-external-locking
skip-name-resolve
# skip-networking

# CACHES AND LIMITS #

tmp_table_size=512M
max_heap_table_size=512M
query_cache_size=128M
query_cache_type = 1
query_cache_limit=3M
wait_timeout=60
interactive_timeout=60
thread_cache_size=128


#tmp-table-size                 = 32M
#max-heap-table-size            = 32M
#query-cache-type               = 1
#query-cache-size               = 0
max-connections                 = 20000

#thread-cache-size              = 50
open-files-limit               = 65535
table-definition-cache         = 4096
table-open-cache               = 16384

# INNODB #
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 2048M
innodb_buffer_pool_instances = 2
innodb_log_file_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_thread_concurrency = 0
innodb_read_io_threads=16
innodb_write_io_threads=16

# SLOW QUERY
slow_query_log=1
slow_query_log_file="/var/log/mysql-slow.log"
long_query_time =10

#max_allowed_packet=268435456
max_allowed_packet=524288000
open_files_limit=30000
innodb_file_per_table=1
Suggestions for your my.cnf-ini [mysqld] section from the limited available information provided,

max_connect_errors=10  # from 1000000 - allow hackers/crackers nn pw guesses
sort_buffer_size=4M  # REMOVE or lead with # for default
read_buffer_size=4M  # REMOVE or lead with # for default
read_rnd_buffer_size=4M  # REMOVE or lead with # for default
thread_cache_size=100  # from 128 see V8 REFMAN for CAP to prevent OOM


Take 2 minutes with MySQLCalculator.com to see what your values have done to the RAM footprint requirements that are extreme and will negatively impact performance.

Eliminate the duplicate variables in your my.cnf-ini and be consistent with underscores rather than mixing in hyphens.

Provide the additional information requested a few hours ago for additional helpful suggestions to improve performance.

Good luck with this new venture on this nice equipment configuration.  Any SSD's?