Tantas perguntas !! Para seu primeiro ponto, você provavelmente começará a notar problemas de desempenho se começar a fazer varreduras de tabela completas ou junções que criam tabelas temporárias. Você pode acompanhar isso observando a saída EXPLAIN para suas consultas. Aqui estão algumas informações sobre EXPLAIN:
Para as configurações, idealmente, é ótimo se você puder colocar todo o seu banco de dados na memória. Aqui estão as variáveis que provavelmente são mais úteis para ajustar:
innodb_buffer_pool_size=8192M
innodb_additional_mem_pool_size=512M
innodb_log_buffer_size=8M
innodb_flush_method = O_DIRECT
key_buffer_size=4096M
read_buffer_size=1M
read_rnd_buffer_size=10M
sort_buffer_size=1M
join_buffer_size=1M
tmp_table_size=32M
Você vai querer tornar a maioria deles tão grande quanto razoável (você vai querer pesquisar alguns deles, pois alguns são por conexão e alguns são globais). Você mencionou SHOW INNODB STATUS, que é um ótimo lugar para começar, tente ver esses campos:
--------
FILE I/O
--------
Pending normal aio reads: 0, aio writes: 0,
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
28889 OS file reads, 52982178 OS file writes, 35063424 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 2.67 writes/s, 2.67 fsyncs/s
Estes devem mostrar se você está preso por IO em algum lugar. Então verifique:
----------------------
BUFFER POOL AND MEMORY
----------------------
Free buffers 342668
para garantir que você tenha buffers gratuitos.
Em relação à sua última pergunta sobre o que monitorar, mais é melhor. Eu uso o OpenNMS para monitorar o desempenho do nosso servidor MySQL. Aqui estão as coisas que atualmente tendemos / alertamos sobre mudanças drásticas:
EventCount
Uptime
Bytes_received
Bytes_sent
Com_delete
Com_delete_multi
Com_insert
Com_insert_select
Com_select
Com_stmt_execute
Com_update
Com_update_multi
Created_tmp_disk_tables
Created_tmp_tables
key_buffer_size
key_cache_block_size
Key_blocks_unused
Key_read_requests
Key_reads
Key_write_requests
Key_writes
Open_files
Open_tables
table_open_cache
Questions
Slow_queries
Connections
Threads_created
Threads_cached
Threads_connected
Threads_running