บทนำ
Mytop เป็นเครื่องมือที่ใช้คอนโซลฟรีสำหรับการตรวจสอบประสิทธิภาพของ MySQL มันคล้ายกับยูทิลิตี้ "บนสุด" แต่จะแสดงคำสั่ง MySQL ด้วย mytop คุณสามารถตรวจสอบสถานะการออนไลน์ของ MySQL, เธรด, แบบสอบถาม, พฤติกรรมของผู้ใช้และข้อมูลสถานะเรียลไทม์อื่น ๆ ได้ทันทีซึ่งจะเป็นประโยชน์สำหรับการเพิ่มประสิทธิภาพ MySQL
ในบทช่วยสอนนี้ฉันจะแสดงวิธีการติดตั้งกำหนดค่าและใช้ mytop บนเซิร์ฟเวอร์ Vultr ที่เพิ่งสร้างใหม่ตาม One-Click LEMP Application
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อคุณต้อง:
ขั้นตอนที่หนึ่ง: ติดตั้ง mytop โดยใช้ที่เก็บ EPEL yum
ด้วยความช่วยเหลือของ EPEL (Extra Packages สำหรับ Enterprise Linux) yum repository คุณสามารถติดตั้ง mytop บนเซิร์ฟเวอร์ของคุณได้อย่างง่ายดาย โดยค่าเริ่มต้นที่เก็บ EPEL yum ได้รับการติดตั้งเมื่อใช้แอปพลิเคชัน LEMP แบบคลิกเดียว
คุณสามารถยืนยันการมีอยู่ของที่เก็บ EPEL ด้วย:
sudo yum repolist
คุณจะเห็นที่epel Extra Packages for Enterprise Linux 6 - x86_64
เก็บข้อมูลแสดงไว้
ในการปกป้องแพ็คเกจในที่เก็บ EPEL จากการอัปเดตหรือแทนที่โดยแพ็คเกจในที่เก็บอื่นคุณต้องติดตั้งปลั๊กอิน "protectbase":
sudo yum install yum-plugin-protectbase.noarch -y
จากนั้นแก้ไขไฟล์/etc/yum.repos.d/epel.repo
อินพุต:
cd /etc/yum.repos.d
sudo vi epel.repo
ต่อท้ายบรรทัดprotect=1
ในส่วน[epel]
:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
protect=1
บันทึกและปิดไฟล์
ในที่สุดติดตั้ง mytop ด้วย:
sudo yum install mytop -y
เพื่อให้ง่ายต่อการใช้งานของ mytop /root/.mytop
คุณสามารถสร้างแฟ้มการกำหนดค่าที่กำหนดเองชื่อ เมื่อคุณเรียกใช้ mytop ในฐานะรูทหรือผู้ใช้ที่ไม่ใช่รูทด้วยสิทธิ์ sudo โปรแกรมจะเรียกใช้ไฟล์การกำหนดค่านี้โดยอัตโนมัติ หากคุณต้องการรันในฐานะผู้ใช้ที่ไม่ใช่รูทโดยไม่มีสิทธิ์ sudo คุณจะต้องวางไฟล์การกำหนดค่าลงในโฮมไดเรกทอรีของผู้ใช้ที่ไม่ใช่รูท
สำหรับการอ้างอิงของคุณนี่คือตัวอย่างของไฟล์กำหนดค่า/root/.mytop
:
user=root
pass=
host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
เนื้อหาในไฟล์นี้มีอาร์กิวเมนต์เริ่มต้นให้กับโปรแกรม mytop ลดการป้อนข้อมูลด้วยตนเองของคุณเมื่อใช้งาน อย่างไรก็ตามหากคุณเรียกใช้โปรแกรมด้วยอาร์กิวเมนต์ที่ป้อนด้วยตนเองอาร์กิวเมนต์บรรทัดคำสั่งจะแทนที่อาร์กิวเมนต์ที่เกี่ยวข้องในไฟล์การกำหนดค่า
คุณสามารถแก้ไขข้อโต้แย้งเหล่านี้ได้ตามเงื่อนไขเฉพาะของคุณ ความหมายบางส่วนของข้อโต้แย้งมีการระบุไว้ด้านล่าง:
- ผู้ใช้: ชื่อผู้ใช้ฐานข้อมูล
- ผ่าน: รหัสผ่านสำหรับผู้ใช้ฐานข้อมูล เพื่อความปลอดภัยคุณสามารถเว้นว่างไว้และป้อนรหัสผ่านด้วยตนเอง
- โฮสต์: ที่อยู่โฮสต์ฐานข้อมูล
- db: ชื่อฐานข้อมูล
- หน่วงเวลา: แสดงช่วงเวลารีเฟรชเป็นวินาที
คำอธิบายแบบเต็มสำหรับแต่ละอาร์กิวเมนต์สามารถพบได้ในหน้าคู่มือ:
man mytop
ดังกล่าวก่อนหน้ายูทิลิตี้ mytop ใช้ทั้งสองข้อโต้แย้งในการกำหนดค่าไฟล์และอาร์กิวเมนต์บรรทัดคำสั่งและหลังจะแทนที่อดีตตาม
ดังนั้นด้วยไฟล์การกำหนดค่าตามลำดับคุณเพียงแค่ต้องป้อนคำสั่งด้วยอาร์กิวเมนต์น้อย
ตัวอย่างเช่นหากคุณต้องการป้อนรหัสผ่านด้วยพรอมต์เพื่อความปลอดภัยที่ดีขึ้นคุณสามารถป้อน:
sudo mytop --prompt
จากนั้นป้อนรหัสผ่านสำหรับฐานข้อมูลเริ่มต้นและผู้ใช้รูทซึ่งสามารถพบได้/root/.my.cnf
เพื่อเข้าสู่ส่วนต่อประสานโปรแกรม mytop
นี่เป็นอีกตัวอย่างหนึ่ง หากคุณต้องการตรวจสอบฐานข้อมูลเฉพาะคุณสามารถใช้:
sudo mytop -d yourdatabasename --prompt
แทนที่yourdatabasename
ด้วยของคุณเอง
ในอินเทอร์เฟซโปรแกรม mytop คุณจะพบสิ่งต่อไปนี้:
MySQL on localhost (5.6.26-log) up 0+08:36:33 [12:07:15]
Queries: 921.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 00/00/00/00
qps now: 0 Slow qps: 0.0 Threads: 1 ( 1/ 0) 00/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.8/140.7 Now in/out: 9.7/ 1.9k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
14 root localhost mysql 0 Query show full processlist
นี่คือมุมมองด้ายเริ่มต้นของ mytop คุณสามารถสลับไปยังมุมมองนี้ได้โดยการกดT
ชั้นสี่สายการประกอบส่วนหัวซึ่งสามารถสลับหรือปิดได้โดยการกดปุ่ม Shift + H ส่วนหัวมีข้อมูลทั่วไปเกี่ยวกับเซิร์ฟเวอร์ MySQL ของคุณ
ใต้หัวข้อคุณสามารถดูข้อมูลสถานะของเธรด MySQL ปัจจุบัน
เพื่อรับความช่วยเหลือกด? ( Shift + / ) เมื่อโปรแกรมกำลังทำงาน
หากต้องการออกจากโปรแกรมกดQ
รายละเอียดเพิ่มเติมเกี่ยวกับการแสดงและการใช้งาน mytop สามารถพบได้ใน man page:
man mytop
แค่นั้นแหละ. คุณสามารถใช้ข้อมูลที่รวบรวมได้จาก mytop เพื่อใช้การเพิ่มประสิทธิภาพ MySQL อย่างรู้แจ้ง