Internet Information Services (IIS) คือ ตอนที่ 5 : การแก้ไขปัญหาและการปรับแต่งประสิทธิภาพ

  1. การแก้ไขปัญหา IIS Web Application
    1.1 การบันทึก (Logging) และการติดตาม (Tracing)
  2. การปรับแต่งประสิทธิภาพ IIS Web Application
    2.1 การเพิ่มประสิทธิภาพการกำหนดค่าแอปพลิเคชัน
    2.2 การจัดการทรัพยากรเซิร์ฟเวอร์
    2.3 ปรับแต่งการตั้งค่า IIS
  3. การตรวจสอบประสิทธิภาพของ IIS

Internet Information Services (IIS) เป็นเว็บเซิร์ฟเวอร์ที่ทรงพลังและยืดหยุ่นที่พัฒนาโดย Microsoft ซึ่งมีบทบาทสำคัญในการให้บริการเว็บและเนื้อหาแอปพลิเคชันสำหรับการทำเว็บและทำแอพ สิ่งสำคัญประการหนึ่งของการจัดการเซิร์ฟเวอร์ IIS คือการทำความเข้าใจวิธีการแก้ไขปัญหาและปรับแต่งประสิทธิภาพของเซิร์ฟเวอร์อย่างมีประสิทธิภาพ ไม่เพียงรับประกันการทำงานที่เหมาะสมที่สุดของการทำเว็บและทำแอพที่โฮสต์ แต่ยังมอบประสบการณ์การใช้งานที่ราบรื่นอีกด้วย บทความนี้จะเจาะลึกเทคนิคการแก้ปัญหาและกลยุทธ์การปรับแต่งประสิทธิภาพ โดยเน้นไปที่กระบวนการทำเว็บและทำแอพให้เหมาะสม

1. การแก้ไขปัญหา IIS Web Application

ขั้นตอนแรกในการแก้ไขปัญหา IIS อย่างมีประสิทธิภาพคือการทำความเข้าใจปัญหาทั่วไปที่อาจเกิดขึ้นและสาเหตุที่เป็นไปได้

  1. ความไม่พร้อมใช้งานของบริการ : ปัญหาทั่วไปอย่างหนึ่งที่พบเมื่อเรียกใช้เว็บแอปพลิเคชันบน IIS คือข้อผิดพลาด “บริการไม่พร้อมใช้งาน” ข้อผิดพลาดนี้มักเกิดจากปัญหาเกี่ยวกับกลุ่มแอปพลิเคชัน เช่น กระบวนการของผู้ปฏิบัติงานล้มเหลวในการเริ่มต้นหรือการหยุดทำงานซ้ำๆ ทำให้คุณสมบัติการป้องกันความล้มเหลวอย่างรวดเร็วหยุดกลุ่มแอปพลิเคชัน
  2. ข้อผิดพลาด HTTP : ข้อผิดพลาด HTTP เช่น ข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 มักเกิดจากปัญหาในรหัสแอปพลิเคชัน การตั้งค่าคอนฟิกูเรชัน หรือคอมโพเนนต์ฝั่งเซิร์ฟเวอร์ ข้อผิดพลาดเช่น 404 (ไม่พบ) อาจเกิดขึ้นได้หาก URL ที่ขอไม่ตรงกับทรัพยากรที่มีอยู่
  3. ปัญหาด้านประสิทธิภาพ : เวลาตอบสนองช้าหรือแอปพลิเคชันขัดข้องอาจบ่งบอกถึงปัญหาด้านประสิทธิภาพ สิ่งเหล่านี้อาจเกี่ยวข้องกับรหัสแอปพลิเคชันที่ไม่มีประสิทธิภาพ ทรัพยากรเซิร์ฟเวอร์ไม่เพียงพอ หรือการตั้งค่าคอนฟิกูเรชัน

1.1 การบันทึก (Logging) และการติดตาม (Tracing)

เพื่อวินิจฉัยและแก้ไขปัญหาเหล่านี้ IIS ให้ความสามารถในการบันทึกและการติดตามที่มีประสิทธิภาพ รหัสสถานะ HTTP รหัสสถานะย่อย และรหัสสถานะของ Windows ในบันทึก IIS สามารถช่วยระบุสาเหตุเฉพาะของปัญหาได้

สำหรับข้อมูลที่ละเอียดยิ่งขึ้น โดยเฉพาะอย่างยิ่งสำหรับปัญหาระดับแอปพลิเคชัน คุณสามารถเปิดใช้งานการติดตามคำขอที่ล้มเหลว (หรือที่เรียกว่าบันทึก FREB) คุณลักษณะนี้ช่วยให้คุณสามารถติดตามส่วนประกอบ IIS ที่เกี่ยวข้องกับการประมวลผลคำขอที่ทำให้เกิดข้อผิดพลาด ช่วยให้คุณระบุขั้นตอนที่แน่นอนซึ่งเกิดความล้มเหลวได้

โปรดจำไว้ว่า เมื่อสร้างเว็บแอปพลิเคชันใหม่ ให้เปิดใช้งานตัวเลือกการบันทึกและการติดตามที่เกี่ยวข้อง ช่วยให้คุณเก็บข้อมูลที่มีค่าได้ตั้งแต่เริ่มต้น ประหยัดเวลาในการแก้ปัญหาอันมีค่าในภายหลัง

2. การปรับแต่งประสิทธิภาพ IIS Web Application

การเพิ่มประสิทธิภาพเซิร์ฟเวอร์ IIS ของคุณเป็นงานที่มีหลายแง่มุม ซึ่งเกี่ยวข้องกับการกำหนดค่าแอปพลิเคชัน ทรัพยากรเซิร์ฟเวอร์ และการตั้งค่า IIS

2.1 การเพิ่มประสิทธิภาพการกำหนดค่าแอปพลิเคชัน

เมื่อสร้างเว็บแอปพลิเคชันใหม่ ให้พิจารณาการกำหนดค่าที่มุ่งเน้นประสิทธิภาพเหล่านี้:

  1. โหมดสถานะเซสชัน (Session State Mode) : หากแอปพลิเคชันของคุณไม่จำเป็นต้องเก็บข้อมูลเซสชันของผู้ใช้หรือหากสามารถจัดการฝั่งไคลเอ็นต์ได้ ให้พิจารณาปิดใช้งานสถานะเซสชันหรือเลือกโหมดที่เหมาะสมซึ่งเหมาะกับความต้องการแอปพลิเคชันและทรัพยากรเซิร์ฟเวอร์ของคุณมากที่สุด
  2. การแคชเอาต์พุต (Output Caching) : ใช้การแคชเอาต์พุตเพื่อให้บริการเนื้อหาแบบสแตติกได้รวดเร็วยิ่งขึ้น มันช่วยลดภาระบนเซิร์ฟเวอร์ของคุณโดยจัดเก็บเอาต์พุตที่ประมวลผลแล้วของเพจและให้บริการตามคำขอที่ตามมา
  3. การบีบอัด (Compression) : เปิดใช้งานการบีบอัดแบบคงที่และแบบไดนามิกเพื่อลดจำนวนข้อมูลที่ส่งระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ของคุณ เป็นประโยชน์อย่างยิ่งสำหรับแอปพลิเคชันที่ใช้แบนด์วิธสูง

2.2 การจัดการทรัพยากรเซิร์ฟเวอร์

ทรัพยากรเซิร์ฟเวอร์ของคุณ—CPU หน่วยความจำ และเครือข่าย—สามารถมีอิทธิพลอย่างมากต่อประสิทธิภาพของเว็บแอปพลิเคชันของคุณ เมื่อกำหนดค่ากลุ่มแอปพลิเคชันของคุณ ให้พิจารณาการตั้งค่าเหล่านี้:

  1. กระบวนการของผู้ปฏิบัติงาน : จำนวนกระบวนการของผู้ปฏิบัติงาน (ในสถานการณ์ web garden) หรือการตั้งค่าความเกี่ยวข้องของ CPU สามารถช่วยคุณกระจายโหลดผ่านโปรเซสเซอร์ของเซิร์ฟเวอร์ของคุณ
  2. Queue Length : การตั้งค่าความยาวของคิวคำขอจะควบคุมจำนวนคำขอที่สามารถรอในคิวได้ หากแอปพลิเคชันของคุณถึงขีดจำกัดบ่อยครั้ง อาจแสดงว่ากระบวนการของผู้ปฏิบัติงานไม่สามารถประมวลผลคำขอได้เร็วเพียงพอ และคุณอาจต้องปรับทรัพยากรเซิร์ฟเวอร์ของคุณ
  3. การรีไซเคิล : การกำหนดค่าการรีไซเคิลพูลแอปพลิเคชันอย่างถูกต้องสามารถช่วยเพิ่มทรัพยากรระบบและป้องกันการรั่วไหลของหน่วยความจำ อย่างไรก็ตาม ตรวจสอบให้แน่ใจว่าเหตุการณ์นี้ไม่ได้เกิดขึ้นบ่อยเกินไป เนื่องจากอาจทำให้เซสชันของผู้ใช้หยุดชะงักและส่งผลต่อประสิทธิภาพการทำงาน

2.3 ปรับแต่งการตั้งค่า IIS

การตั้งค่า IIS หลายอย่างอาจส่งผลต่อประสิทธิภาพของเว็บแอปพลิเคชันของคุณ:

  1. พารามิเตอร์ HTTP.SYS : พารามิเตอร์เช่น MaxConnections (การเชื่อมต่อพร้อมกันสูงสุด) หรือ MaxBandwidth (แบนด์วิดท์สูงสุดที่ใช้) สามารถปรับให้เหมาะกับความจุของเซิร์ฟเวอร์และความต้องการของแอปพลิเคชัน
  2. การตั้งค่ากลุ่มแอปพลิเคชัน : การตั้งค่าการปรับแต่ง เช่น กระบวนการของผู้ปฏิบัติงานสูงสุด ความยาวคิว หรือเงื่อนไขการรีไซเคิล สามารถช่วยเพิ่มประสิทธิภาพการทำงานของแอปพลิเคชันของคุณได้
  3. IIS Output Caching : คุณสามารถควบคุมวิธีการตอบสนองแคชของ IIS และวิธีการพิจารณาว่าการตอบสนองแคชนั้นถูกต้องสำหรับคำขอที่กำหนดหรือไม่

3. การตรวจสอบประสิทธิภาพของ IIS

ประการสุดท้าย การตรวจสอบประสิทธิภาพเซิร์ฟเวอร์ IIS ของคุณอย่างต่อเนื่องเป็นกุญแจสำคัญในการรักษาประสิทธิภาพของแอปพลิเคชันที่เหมาะสมที่สุด IIS มีตัวนับประสิทธิภาพที่คุณสามารถตรวจสอบได้โดยใช้เครื่องมือ Windows Performance Monitor

ตัวนับที่สำคัญบางตัวที่ต้องตรวจสอบ ได้แก่ :

  • Processor(_Total)% Processor Time : ตรวจสอบการใช้งาน CPU ทั้งหมด ค่าที่สูงอาจบ่งบอกถึงปัญหาคอขวดของ CPU
  • Memory\Available Mbytes : ระบุหน่วยความจำที่มีอยู่ ค่าต่ำอาจบ่งบอกถึงปัญหาหน่วยความจำไม่เพียงพอ
  • Web Service(_Total)\Current Connections : ตรวจสอบจำนวนการเชื่อมต่อที่ใช้งานทั้งหมด โดยให้ข้อมูลเชิงลึกเกี่ยวกับการโหลดของเซิร์ฟเวอร์
  • ASP.NET Applications( Total )\Requests/Sec : ตรวจสอบอัตราการร้องขอสำหรับแอปพลิเคชัน ASP.NET ของคุณ การลดลงอย่างกะทันหันอาจบ่งบอกถึงปัญหาด้านประสิทธิภาพ

การแก้ไขปัญหาที่มีประสิทธิภาพและการปรับแต่งประสิทธิภาพเซิร์ฟเวอร์ IIS ของคุณมีความสำคัญต่อประสิทธิภาพสูงสุดของเว็บแอปพลิเคชันของคุณ ด้วยการใช้ประโยชน์จากคุณสมบัติการบันทึก (logging) การติดตาม (tracing) และการตรวจสอบที่มีประสิทธิภาพของ IIS และโดยการตัดสินใจกำหนดค่าเชิงกลยุทธ์เมื่อทำเว็บและทำแอพของคุณ คุณจะสามารถสร้างโซลูชันที่มีประสิทธิภาพ แข็งแกร่ง และปรับขนาดได้บน IIS


Internet Information Services (IIS) คืออะไร

Internet Information Services (IIS) คือ ตอนที่ 4 : ความปลอดภัย (Security)
Internet Information Services (IIS) คือ ตอนที่ 6 : คุณสมบัติขั้นสูง (Advanced Features)