Eu estava usando o MySQL versão 5.1.52 para meu aplicativo, mas recentemente atualizei para o 5.6.26, mas agora estou enfrentando IO muito alto no disco.
A seguir, a configuração do sistema:
Meu O.S é a mesma versão do MySQL que foi alterada. Eu tinha tomado observação IO com o MySQL versões 5.1.52 e 5.6.26 usando o utilitário iotop, as mesmas consultas são executadas em ambas as versões, a leitura é o número de gravações no disco. A seguir estão as observações:
5.1.52 Versão do MySQL:
Number of Queries All Innodb Tables All MyISAM Tables
900 12.45M 192K
1800 23.76M 424K
2700 36.02M 680K
3600 46.33M 924K
5.6.26 Versão do MySQL:
Number of Queries All Innodb Tables All MyISAM Tables
900 75.04M 212K
1800 158.03M 472K
2700 245.93M 756K
3600 346.66M 1016K
Eu posso comprometer as propriedades do ACID, mas não com o IO.
Por que o IO é aumentado no MySQl 5.6.26?
Como posso reduzir o IO do disco?
É bom usar o mecanismo MyISAM em vez do mecanismo InnoDB com o MySQL 5.6.26?
my.cnf para o MySQL 5.6.26:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-storage-engine=MyISAM
general_log=on
general_log_file=/dev/shm/mysql.logs
thread_cache_size=9
table_open_cache=2000
table_definition_cache=1400
sort_buffer_size=2097152
query_cache_size=1048576
max_allowed_packet=4194304
key_buffer_size=8388608
join_buffer_size=262144
back_log=80
query_cache_type=OFF
open_files_limit=5000
event_scheduler=OFF
innodb_thread_concurrency=0
innodb_sync_spin_loops=30
innodb_stats_on_metadata=OFF
innodb_max_dirty_pages_pct=90
innodb_file_per_table=ON
innodb_concurrency_tickets=5000
innodb_autoextend_increment=8
innodb_open_files=2000
innodb_log_file_size=67108864
innodb_log_buffer_size=67108864
innodb_additional_mem_pool_size=1048576
innodb_log_buffer_size=1048576
innodb_max_dirty_pages_pct=90
innodb_max_dirty_pages_pct_lwm=90
innodb_adaptive_flushing_lwm=70
innodb_adaptive_flushing=0
innodb_io_capacity=2000
innodb_io_capacity_max=6000
innodb_lru_scan_depth=2000
innodb_write_io_threads=1
innodb_read_io_threads=1
innodb_buffer_pool_instances=1
innodb_buffer_pool_size=20971520
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=2
[mysqld_safe]
pid-file=/var/run/mysqld/mysqld.pid
Obrigado antecipadamente