Home > SQL Performance Tuning > การทำ Performance Tuning SQL Query เบื้องต้น (part 4 – การใช้ Performance Monitor)

การทำ Performance Tuning SQL Query เบื้องต้น (part 4 – การใช้ Performance Monitor)


จากตอนที่แล้วที่สรุปขั้นตอนในการ Tuning ไป คราวนี้ก็เริ่มต้นที่การ Monitor กันก่อนนะครับ

Performance Monitor

Performance Monitor เป็นเครื่องมือที่มีประสิทธิภาพสูง แต่ฟรี ที่มีอยู่ใน windows อยู่แล้ว โดยส่วนใหญ่แล้วเรามักจะใช้ในการตรวจสอบ CPU, Disk, Memory, Network และอื่นๆ สำหรับโปรแกรมเมอร์บางท่านอาจจะยังไม่เคยใช้ เพราะว่าเครื่องมือตัวนี้ Admin หรือ DBA มักจะเข้ามาใช้เพื่อ Monitor ระบบอยู่แล้วครับ

ในตอนนี้ผมจะลองแสดงให้เห็นวิธีการใช้งานเพื่อหา Bottle Neck อย่างง่ายๆ ดูนะครับ

เริ่มจากเปิดโปรแกรม Performance Monitor ขึ้นก่อน โดยโปรแกรมนี้จะอยู่ใน Administrative Tools ซึ่งปกติจะมีอยู่ใน Windows ทุกเวอร์ชั่นครับ

 

จะพบหน้าจอโปรแกรมดังรูปถัดไป

เราจะเห็น counter ที่ได้เพิ่มเข้ามาแล้วได้แก่

1) % Processor Time – เป็น counter ที่ใช้วัดการทำงานของ CPU ว่ามีการทำงานเป็นอย่างไร โดยปกติแล้วเราจะดูที่ค่า Average ถ้าค่า average ไม่เกิน 80% ก็ถือว่ารอดครับ แต่ถ้าเกินกว่านี้ แสดงว่า CPU ทำงานไม่ทันน่ะครับ อาจจะแก้ปัญหาโดยการเพิ่ม CPU ให้มากขึ้นหรือว่าเปลี่ยน CPU น่ะครับ

2) Avg. Disk Queue Length – ถ้า counter ตัวนี้ขึ้นสูง แสดงว่า disk ทำงานไม่ทัน อาจจะแก้ปัญหาโดยการเพิ่ม disk RAID หรือไม่ก็หาวิธีการเพิ่มประสิทธิภาพของ Database ให้ติดต่อ Disk น้อยลง โดยอาจจะใช้ Index, กระจาย database file ไปหลายๆ disk, การใช้ Cache เป็นต้น

3) Page/Sec – ปกติ counter ตัวนี้จะไม่เกิดขึ้นสูงในกรณ๊ที่ Physical Memory ที่มีอยู่เพียงพอ แต่ถ้า counter ตัวนี้เกิดขึ้นสูงแสดงว่า Memory ไม่พอ อาจจะต้องเพิ่ม Physical Memory ขึ้นอีก

แต่การดูในแต่ละ counter จะต้องดูตอนที่เกิด load จริงๆ ถ้าเป็นไปได้ และอาจจะต้องดูหลายๆ counter ประกอบด้วยครับ เหมือนกับดูอาการทางของผู้ป่วยเมื่อไปพบแพทย์ แต่ทางในปฏิบัติแล้ว เราอาจจะวิธีเขียน script เพื่อทดสอบก็ได้ครับ เพื่อให้ได้ load คงที่ทุกครั้งที่ทดสอบ ไม่เช่นนั้นแล้ว การทดสอบก็จะไม่สามารถวัดอะไรได้แน่นอนครับ

นอกจาก counter ที่มีอยู่ใน default แล้ว เราสามารถที่จะเพิ่มเติม counter ได้อีกโดย click ขวาเพื่อเลือกเมนู Add Counter ดังรูปครับ

 

จะเกิดหน้าจอให้เลือก ดังรูปถัดไปครับ

สามารถอธิบายหน้าจอได้ดังนี้ครับ

  1. Select counters from computer – ระบุชื่อ computer name ที่ต้องการจะตรวจสอบ
  2. Performance Object – หมวดหมู่ของ counter
  3. Select counter from list – รายชื่อ counter ในแต่ละหมวดหมู่ โดยจะ filter ตามกลุ่มของ Performance object ที่เลือก
  4. Select instance from list – instance ของ counter ที่เลือก ยกตัวอย่างเช่น ถ้าเราเลือก %Processor Time ในช่อง select instance from list จะแสดงจำนวน CPU ทั้งหมดที่อยู่ในเครื่องครับ จากรูปด้านบน มี cpu 0 ตัวเดียว แสดงว่าในเครื่องนี้มี cpu ทั้งหมด 1 ตัวครับ แต่ถ้าเครื่องนี้มีหลายตัวก็อาจจะแสดงเป็น 0, 1, 2, 3 ก็แสดงว่าในเครื่องนี้มี cpu ทั้งหมด 4 ตัว โดยเราอาจจะขอดูเฉพาะตัวใดตัวหนึ่งหรือดูทั้งหมดก็ได้ครับ

 

ส่วนจะเพิ่มเติม counter อะไรที่จำเป็นในการ monitor ขอยกยอดไปเขียนอีกทีนะครับ

 

หลักสูตรอบรม SQL Tuning (click)

 

  1. August 26, 2014 at 09:24

    อาจารย์ครับขอวิธีดูว่า ฮาร์ดดิส มีกี่หัวอ่านด้วยครับ

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: