نحوه نصب Innotop برای نظارت بر عملکرد سرور MySQL
07 آوریل 2022
خواندن 4 دقیقه
آیدا ذبیحی

نحوه نصب Innotop برای نظارت بر عملکرد سرور MySQL

شما می توانید از mytop برای نظارت اولیه MySQL استفاده کنید و ممکن است شرایطی بوجود آید که در آن از شما خواسته شود ارزیابی پیشرفته و دقیقی از عملکردهای داخلی عملیات MySQL انجام دهید، که mytop قادر به انجام آن نیست. در این حالت Innotop گزینه خوبی است و با کمک آن می توانید بر وضعیت تکرار MySQL نظارت داشته باشید. در این مقاله، نحوه نصب Innotop برای نظارت بر عملکرد سرور MySQL آموزش داده خواهد شد.

آموزش نصب Innotop برای نظارت بر عملکرد سرور MySQL

Innotop چیست؟

Innotop یک برنامه خط فرمان است که بر سرورهای محلی و راه دور MySQL که تحت موتور InnoDB کار می کنند، نظارت می کند. Innotop ویژگی ها و انواع مختلفی دارد که به نظارت بر جنبه های مختلف عملکرد MySQL کمک می کند و مدیر پایگاه داده را یاری می کند تا متوجه شود مشکل سرور MySQL چیست. Innotop به نظارت بر وضعیت MySQL replication، آمار کاربر، بافرهای InnoDB، اطلاعات ورودی و خروجی InnoDB، لیست پرس و جو، جداول باز و قفل و غیره کمک می کند و داده های خود را بطور منظم رفرش می کند و شما به این صورت می توانید نتایج بروز شده را مشاهده کنید.

نصب Innotop برای نظارت بر عملکرد سرور MySQL

توجه داشته باشید که Innotop بطور پیش فرض در توزیع های لینوکس وجود ندارد. برای نصب Innotop باید ابتدا مخزن epel را فعال کنید و سپس دستور زیر را اجرا کنید.

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!

با دستور زیر می توانید Innotop را شروع کنید. دقت کنید که در آخر Enter را بزنید.

 innotop -u root -p 'azarsys'

پس از اینکه به سرور MySQL متصل شدید باید خروجی زیر را مشاهده کنید:

[RO] Dashboard (? for help) 
Uptime  MaxSQL  ReplLag  Cxns  Lock  QPS     QPS  Run  Run  Tbls  Repl   SQL
   61d                      4     0  254.70  _         _     462  Off 1

راهنمای Innotop

برای دریافت خلاصه ای از گزینه ها و کاربردهای خط فرمان کافی است “?” را بزنید.

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

در این بخش تصاویری از موارد استفاده Innotop وجود دارد. از کلید های حروف بزرگ می توانید برای جابجایی بین حالت ها استفاده کنید.

آمار کاربران

در این حالت آمار کاربر و آمار فهرست بندی شده براساس ترتیب خوانده شده را مشاهده خواهید کرد.

CXN        When   Load  QPS    Slow  QCacheHit  KCacheHit  BpsIn    BpsOut 
localhost  Total  0.00  1.07k   697      0.00%     98.17%  476.83k  242.83k

فهرست پرس و جو

در این حالت خروجی مشابه حالت فهرست جستجوی mytop از SHOW FULL PROCESSLIST نمایش داده می شود و برای استفاده عمومی بسیار مفید است. ولی بیاد داشته باشید که در این ویژگی اطلاعات InnoDB نمایش داده نمی شود.

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

InnoDB I/O Info 

در این حالت بطور پیش فرض آمار ورودی/خروجی InnoDB، رشته های وروری/خروجی، ورودی/خروجی معلق، فایل ورودی/خروجی و جداول آمار گزارش نمایش داده می شود.

____________________ 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

بافرهای InnoDB

این بخش اطلاعاتی در مورد pool بافر InnoDB، آمار صفحه، درج بافر و شاخص هش تطبیقی را نشان می دهد. داده ها از 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

InnoDB Row Ops

در این قسمت به طور پیش فرض خروجی عملیات ردیف InnoDB، عملکرد ردیف متفرقه، سمافورها و جداول آرایه انتظار نشان داده می شود.

________________ 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?

خلاصه دستور

این حالت تمام جدول cmd_summary را نمایش می دهد که به صورت زیر است:

_____________________ 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%

متغیرها و حالت ها

در این بخش آمار ها مانند بخش پرس و جو ها در ثانیه، محاسبه می شود و در چند حالت مختلف نمایش داده می شود.

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

حالت Replication

این قسمت خروجی Slave SQL Status، Slave I/O Status و Master Status را نمایش می دهد. دو بخش اول حالت slave و slave I/O thread و آخرین بخش حالت Master را نشان می دهد.

_______________________ 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%

Non-Interactively

به کمک دستور زیر می توانید innotop را بصورت غیر تعاملی اجرا کنید:

 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

نظارت بر پایگاه داده از راه دور

با کمک دستور زیر با استفاده از نام کاربری، رمز عبور و hostname می توانید بر پایگاه داده از راه دور در یک سیستم راه دور نظارت کنید.

 innotop -u username -p password -h hostname

نتیجه گیری

در این مقاله، نحوه نصب Innotop برای نظارت بر عملکرد سرور MySQL آموزش داده شد. برای اطلاعات بیشتر در مورد استفاده از innotop و گزینه های آن می توانید man innotop را در ترمینال بزنید و به صفحات man مراجعه کنید.

نویسنده مقاله
نویسنده / @آیدا ذبیحی
مقالات مرتبط
دیدگاه بگذارید