เพิ่มความเร็วให้กับ MS SQL Server

image

บางครั้ง MS SQL Server ทำงานไม่ทันความต้องการของ SCADA เช่น SCADA ส่งข้อมูลให้ 1500 Sample (รวมทุก Query) ใน 1 ช่วงเวลา เช่นทุก 5 วินาที แต่ MS SQL Server ไม่สามารถทำงานทันกับความต้องการของ SCADA ก็จะทำให้การเก็บข้อมูลของ SCADA ผิดพลาดได้ ดังนัั้นวันนี้เรามาดูวิธีปรับปรุง MS SQL Server กัน

1. ตรวจสอบก่อนว่าเราแยก MS SQL Server ให้ทำงานในคอมพิวเตอร์แยกต่างหากหรือยัง และควรเป็นระบบปฏิบัติการ 64 บิตเนื่องจากให้ RAM ได้มากกว่า 32 บิต และจัดหา RAM ให้มากที่สุดเท่าที่จะทำได้เช่น 16Gb ทั้งนี้ CPU และคอมพิวเตอร์ควรเป็นคอมพิวเตอร์เสป็กสูงและเหมาะกับการทำงานระยะยาว (Hard duty) ถ้าทำได้ดังนี้ก็จะทำให้ประสิทธิภาพสูงมาก

2. ถ้าระบบทุกอย่างออกแบบตามข้อ 1 แต่ MS SQL ยังทำงานไม่ทัน ทำงานหนัก ให้ลองตรวจสอบว่า MS SQL Server ใช้ RAM เต็มประสิทธิภาพหรือไม่ โดยตรวจสอบใน Task Manager ว่ามี RAM ที่ Available อยู่เท่าใด ถ้าเหลืออยู่มากและ MS SQL Server ยังทำงานช้าให้ทำการตรวจสอบว่าจำนวน RAM ที่ให้ MS SQL ใช้เพื่อรันคำสั่งแต่ละ Query นั้นมีขนาดเท่าใดก่อนโดยดู Property ของ SQL Server ดังรูป

image

รูปที่ 1

เราจะพบขนาด Minimum memory per query (in KB) ซึ่งเป็นขนาด RAM ที่ใช้ต่อ 1 คำสั่ง Query ซึ่งถ้าเรามี RAM Available เยอะ (ดูจาก Task Manager) เราสามารถเพิ่มขนาด Minimum memory ตรงนี้ให้มากขึ้น ทั้งนี้ก็เพื่อให้หน่วยความจำที่ใช้เพื่อรันคำสั่งแต่ละ Query นั้นมีมากขึ้น เช่นถ้า Query นั้นมีการใส่ข้อมูลเข้ามามากก็จะได้มีหน่วยความจำรองรับดีขึ้น เช่นเป็น 2048 KB ก็จะทำให้ MS SQL ทำงานได้ดีขึ้น โดยเราอาจคำนวนให้ละเอียดลงไปด้วยว่าใน 1 ช่วงเวลาจะมีการใช้กี่ Query เช่นถ้าใน TrendWorX32 Configurator มีการแบ่งกลุ่มสัญญาณออกเป็น 10 กลุ่มให้เก็บข้อมูลทุก 1 วินาที ดังนั้นในช่วงนั้นจะมี Query จำนวน 10 Query แต่ละ Query ใช้หน่วยความจำเท่าใดก็ขึ้นอยู่กับขนาดและจำนวนสัญญาณ

ถ้าต้องการดูว่าในระบบ SCADA อย่าง GENESIS32 ถ้าเราใช้ TrendWorX32 ของ GENESIS32 SCADA เก็บข้อมูลจะทำให้ขนาดข้อมูลแต่ละวันมีขนาดเท่าใด เราสามารถดูได้โดยใช้ TrendWorX32 Database Tuning Wizard (มีอยู่ใน GENESIS32)ให้คำนวนให้ จากรูปที่ 2 เราจะพบว่า TrendWorX32 Database Tuning Wizard จะบอกเราว่า RAM ขณะนี้เหลืออยู่ 1798 Mb (แต่เราจะเหมารวมว่าจะเอาทั้งหมดนี้ให้ MS SQL ใช้เลยก็ไม่ควรนะครับ คสรเหลือไว้เพื่อให้ระบบใช้งานทั่ว ๆ ไปบ้าง) นอกจากนั้นจะพบว่าขนาดของไฟล์ข้อมูลใน 1 วันจะมีขนาด 0.51 Mb และ 1 เดือนประมาณ 15.67 Mb

image

รูปที่ 2

แต่ถ้า RAM เราเหลือไม่มากพอ การเพิ่มขนาด Minimum memory per query (in KB) ในรูปที่ 1 จะไม่ช่วยอะไร กลับจะทำให้ระบบทั้งหมดอืดลงครับ

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

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