شما می توانید از 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 مراجعه کنید.