Instal·leu Innotop per supervisar el rendiment del servidor MySQL
Innotop és un excel·lent programa de línia d'ordres, similar al comandament superior per supervisar servidors MySQL locals i remots que s'executen amb el motor InnoDB. Innotop inclou moltes funcions i diferents tipus de modes/opcions, cosa que ajuda a controlar diferents aspectes del rendiment de MySQL i també ajuda l'administrador de bases de dades a esbrinar què passa amb el servidor MySQL.
Per exemple, Innotop ajuda a controlar l'estat de rèplica de mysql, les estadístiques d'usuari, la llista de consultes, els buffers d'InnoDB, la informació d'E/S d'InnoDB, les taules obertes, les taules de bloqueig, etc., actualitza les seves dades regularment, de manera que pugueu veure resultats actualitzats.
Innotop inclou grans característiques i flexibilitat i no necessita cap configuració addicional i es pot executar només executant l'ordre innotop des del terminal.
Instal·lació d'Innotop (Monitorització de MySQL)
Per defecte, el paquet innotop no s'inclou a les distribucions de Linux com RHEL, CentOS, Fedora i Scientific Linux. Heu d'instal·lar-lo habilitant el repositori epel de tercers i utilitzant l'ordre yum com es mostra a continuació.
# yum install innotop
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.net.in * epel: epel.mirror.net.in * epel-source: epel.mirror.net.in * extras: centos.mirror.net.in * updates: centos.mirror.net.in Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package innotop.noarch 0:1.9.0-3.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================== Package Arch Version Repository Size ========================================================================================================== Installing: innotop noarch 1.9.0-3.el6 epel 149 k Transaction Summary ========================================================================================================== Install 1 Package(s) Total download size: 149 k Installed size: 489 k Is this ok [y/N]: y Downloading Packages: innotop-1.9.0-3.el6.noarch.rpm | 149 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : innotop-1.9.0-3.el6.noarch 1/1 Verifying : innotop-1.9.0-3.el6.noarch 1/1 Installed: innotop.noarch 0:1.9.0-3.el6 Complete!
Per iniciar innotop, simplement escriviu innotop i especifiqueu les opcions -u (nom d'usuari) i -p (contrasenya) respectivament, des de la línia d'ordres i premeu Intro.
# innotop -u root -p 'tecm1nt'
Un cop us hàgiu connectat al servidor MySQL, hauríeu de veure alguna cosa semblant a la pantalla següent.
[RO] Dashboard (? for help) localhost, 61d, 254.70 QPS, 5/2/200 con/run/cac thds, 5.1.61-log Uptime MaxSQL ReplLag Cxns Lock QPS QPS Run Run Tbls Repl SQL 61d 4 0 254.70 _ _ 462 Off 1
Premeu “?” per obtenir el resum de les opcions i l'ús de la línia d'ordres.
Switch to a different mode: A Dashboard I InnoDB I/O Info Q Query List B InnoDB Buffers K InnoDB Lock Waits R InnoDB Row Ops C Command Summary L Locks S Variables & Status D InnoDB Deadlocks M Replication Status T InnoDB Txns F InnoDB FK Err O Open Tables U User Statistics Actions: d Change refresh interval p Pause innotop k Kill a query's connection q Quit innotop n Switch to the next connection x Kill a query Other: TAB Switch to the next server group / Quickly filter what you see ! Show license and warranty = Toggle aggregation # Select/create server groups @ Select/create server connections $ Edit configuration settings \ Clear quick-filters Press any key to continue
Aquesta secció conté captures de pantalla de l'ús d'innotop. Utilitzeu les tecles en majúscules per canviar entre els modes.
Aquest mode mostra les estadístiques d'usuari i les estadístiques d'índex ordenades per lectures.
CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k
Aquest mode mostra la sortida de SHOW FULL PROCESSLIST, similar al mode de llista de consultes de mytop. Aquesta funció no mostra informació d'InnoDB i és més útil per a un ús general.
When Load Cxns QPS Slow Se/In/Up/De% QCacheHit KCacheHit BpsIn BpsOut Now 0.05 1 0.20 0 0/200/450/100 0.00% 100.00% 882.54 803.24 Total 0.00 151 0.00 0 31/231470/813290/188205 0.00% 99.97% 1.40k 0.22 Cmd ID State User Host DB Time Query Connect 25 Has read all relay system u 05:26:04
Aquest mode mostra les estadístiques d'E/S d'InnoDB, les E/S pendents, els fils d'E/S, les E/S de fitxers i les taules d'estadístiques de registre de manera predeterminada.
____________________ I/O Threads ____________________ Thread Purpose Thread Status 0 insert buffer thread waiting for i/o request 1 log thread waiting for i/o request 2 read thread waiting for i/o request 3 write thread waiting for i/o request ____________________________ Pending I/O _____________________________ Async Rds Async Wrt IBuf Async Rds Sync I/Os Log Flushes Log I/Os 0 0 0 0 0 0 ________________________ File I/O Misc _________________________ OS Reads OS Writes OS fsyncs Reads/Sec Writes/Sec Bytes/Sec 26 3 3 0.00 0.00 0 _____________________ Log Statistics _____________________ Sequence No. Flushed To Last Checkpoint IO Done IO/Sec 0 5543709 0 5543709 0 5543709 8 0.00
En aquesta secció, veureu informació sobre el conjunt de memòria intermèdia InnoDB, les estadístiques de la pàgina, la memòria intermèdia d'inserció i l'índex hash adaptatiu. Les dades s'obtenen de SHOW INNODB STATUS.
__________________________ Buffer Pool __________________________ Size Free Bufs Pages Dirty Pages Hit Rate Memory Add'l Pool 512 492 20 0 -- 16.51M 841.38k ____________________ Page Statistics _____________________ Reads Writes Created Reads/Sec Writes/Sec Creates/Sec 20 0 0 0.00 0.00 0.00 ______________________ Insert Buffers ______________________ Inserts Merged Recs Merges Size Free List Len Seg. Size 0 0 0 1 0 2 __________________ Adaptive Hash Index ___________________ Size Cells Used Node Heap Bufs Hash/Sec Non-Hash/Sec 33.87k 0 0.00 0.00
Aquí, veureu la sortida de les operacions de fila d'InnoDB, diverses operacions de fila, semàfors i taules de matriu d'espera per defecte.
________________ InnoDB Row Operations _________________ Ins Upd Read Del Ins/Sec Upd/Sec Read/Sec Del/Sec 0 0 0 0 0.00 0.00 0.00 0.00 ________________________ Row Operation Misc _________________________ Queries Queued Queries Inside Rd Views Main Thread State 0 0 1 waiting for server activity _____________________________ InnoDB Semaphores _____________________________ Waits Spins Rounds RW Waits RW Spins Sh Waits Sh Spins Signals ResCnt 2 0 41 1 1 2 4 5 5 ____________________________ InnoDB Wait Array _____________________________ Thread Time File Line Type Readers Lck Var Waiters Waiting? Ending?
El mode de resum d'ordres mostra tota la taula cmd_summary, que sembla semblant a la següent.
_____________________ Command Summary _____________________ Name Value Pct Last Incr Pct Com_update 11980303 65.95% 2 33.33% Com_insert 3409849 18.77% 1 16.67% Com_delete 2772489 15.26% 0 0.00% Com_select 507 0.00% 0 0.00% Com_admin_commands 411 0.00% 1 16.67% Com_show_table_status 392 0.00% 0 0.00% Com_show_status 339 0.00% 2 33.33% Com_show_engine_status 164 0.00% 0 0.00% Com_set_option 162 0.00% 0 0.00% Com_show_tables 92 0.00% 0 0.00% Com_show_variables 84 0.00% 0 0.00% Com_show_slave_status 72 0.00% 0 0.00% Com_show_master_status 47 0.00% 0 0.00% Com_show_processlist 43 0.00% 0 0.00% Com_change_db 27 0.00% 0 0.00% Com_show_databases 26 0.00% 0 0.00% Com_show_charsets 24 0.00% 0 0.00% Com_show_collations 24 0.00% 0 0.00% Com_alter_table 12 0.00% 0 0.00% Com_show_fields 12 0.00% 0 0.00% Com_show_grants 10 0.00% 0 0.00%
Aquesta secció calcula estadístiques, com ara consultes per segon, i les mostra en diferents modes.
QPS Commit_PS Rlbck_Cmt Write_Commit R_W_Ratio Opens_PS Tbl_Cch_Usd Threads_PS Thrd_Cch_Usd CXN_Used_Ever CXN_Used_Now 0 0 0 18163174 0 0 0 0 0 1.99 1.32 0 0 0 18163180 0 0 0 0 0 1.99 1.32 0 0 0 18163188 0 0 0 0 0 1.99 1.32 0 0 0 18163192 0 0 0 0 0 1.99 1.32 0 0 0 18163217 0 0 0 0 0 1.99 1.32 0 0 0 18163265 0 0 0 0 0 1.99 1.32 0 0 0 18163300 0 0 0 0 0 1.99 1.32 0 0 0 18163309 0 0 0 0 0 1.99 1.32 0 0 0 18163321 0 0 0 0 0 1.99 1.32 0 0 0 18163331 0 0 0 0 0 1.99 1.32
En aquest mode, veureu la sortida de l'estat SQL de l'esclau, l'estat d'E/S esclau i l'estat del mestre. Les dues primeres seccions mostren l'estat de l'esclau i l'estat del fil d'E/S esclau i l'última secció mostra l'estat del mestre.
_______________________ Slave SQL Status _______________________ Master On? TimeLag Catchup Temp Relay Pos Last Error 172.16.25.125 Yes 00:00 0.00 0 41295853 ____________________________________ Slave I/O Status _____________________________________ Master On? File Relay Size Pos State 172.16.25.125 Yes mysql-bin.000025 39.38M 41295708 Waiting for master to send event ____________ Master Status _____________ File Position Binlog Cache mysql-bin.000010 10887846 0.00%
Podeu executar innotop de manera no interactiva.
# innotop --count 5 -d 1 -n
uptime max_query_time time_behind_master connections locked_count qps spark_qps run spark_run open slave_running longest_sql 61d 2 0 0.000363908088893752 64 Yes 61d 2 0 4.96871146980749 _ _ 64 Yes 61d 2 0 3.9633543857494 ^_ __ 64 Yes 61d 2 0 3.96701862656428 ^__ ___ 64 Yes 61d 2 0 3.96574802684297 ^___ ____ 64 Yes
Per supervisar una base de dades remota en un sistema remot, utilitzeu l'ordre següent amb un nom d'usuari, una contrasenya i un nom d'amfitrió concrets.
# innotop -u username -p password -h hostname
Per obtenir més informació sobre l'ús i les opcions d'innotop, consulteu les pàgines de manual prement man innotop en un terminal.
Enllaços de referència
Pàgina d'inici d'Innotop
- Mtop (Monitorització de bases de dades MySQL) a RHEL/CentOS/Fedora