2008/Oct/23

   ในแต่ล่ะครั้งที่เราสร้างเวบไซด์โดยเฉพาะ Server ที่เป็น windows เราจะคุ้นเคยกับการ config IIS (Internet Information Server ) เป็นอย่างดี  โดยเฉพาะ IIS 6 ซึ่งอยู่บน windows 2003  server (ปัจจุบัน version ล่าสุด คือ IIS 7  บน Windows Server 2008)    Omar AL Zabir  เจ้าของเวบ site pageflakes.com  ได้เขียนใน  blog ของเขาเรื่อง  Best practices for creating websites in IIS 6.0   ผมได้นำมาสรุปเอาไว้ว่า

ควรสร้าง Application Pool แยกออกมาในแต่ล่ะเวบไชด์
       เนื่องจาก ใน IIS มี  process ที่ชื่อว่า  w3wp.exe  สามารถที่จะสร้าง  instance การทำการได้หลายๆ ตัวพร้อมกันตามจำนวน app pool  โดยปกติแล้ว  IIS จะมี DefaultAppPool  เป็น app pool เบื้องต้น แต่ล่ะ app pool จะมีหน้าที่ในการจัดการ   In-Process  seesion , memory cache  บน server ถ้าหากเรามีหลายๆเวบ site  บน Server ทุกตัวจะใช้ DefaultAppPool ร่วมกัน  ทำให้การจัดการเป็นไปได้ยาก  ในเวลาที่บางเวบไซด์มีจำนวน traffic จำนวนมาก  เพราะฉนั้นเราควรแยก app pool ออกมาแบบ  one website per one app pool  ทำได้โดย

 ควร disable DefaultAppPool เพื่อป้องกันเข้าใจผิดและเข้าไปใช้งาน DefaultAppPool ได้อีก

 image

อย่างแรกเลย click ขวา ที่ Application Pool  แล้วเลือก new application pool  ควรตั้งชื่อ app pool ให้เหมือนกับชื่อเวบไซด์ เพื่อให้ง่ายต่อความเข้าใจ

image

เวลาที่เราสร้างเวบไซด์ใหม่ก็ให้ Reference ให้ตรงกับ App pool ที่เราสร้างไว้ เหมือนรูปด้านบน

Customize Website properties for performance, scalability and maintainability

  1.    Maping host  header ให้ถูกต้องทั้ง ที่มี  www และ ไม่มี  www  (domain.com,www.domain.com)
      

    image


  2.    เปิดการใช้  log  ดังรูป เพื่อนำข้อมูลใช้ในการวิเคราะห์ เพื่อหาข้อมูล bandwidth หรือ อาจจะใช้  Google Analysis Service ก็ได้

    image

  3.   ควรเพิ่ม defualt.aspx  ถ้าหาก user เปิดเวบไซด์เข้ามาโดยไม่มีการเรียกชื่อ  file .aspx  defualt.aspx ก็จะโดนเรียกใช้ทันที

    image

  4.   Turn on Content Expiration. เพื่อให้  Browser เก็บ cache นั้นเอาไว้ประมาณ 30 วัน
       Remove the X-Powered-By: ASP.NET header เพื่อลดการ ส่งค่าไปมาให้โดยไม่มีประโยชน์ (21 Byte) ในแต่ล่ะครั้ง อีกทั้งช่วยป้องกันพวก  hacker ได้ในระดับหนึ่ง    เพิ่ม "From" header และ  ตั้งชื่อ  server name มีประโยชน์ในการทำ load balancing


    image 
  5.  Set 404 Not found ไปที่  file ที่เราสร้างขึ้นเอง เช่น myerrorpage.aspx มีประโยชน์ ในการจัดการ error message

    image

  6.  ตรวจสอบว่าเราเลือกใช้  ASP.NET  2.0 สำหรับเวบไซด์ ASP.NET 2.0 3.0 3.5

    image

สุดท้าย ควรเปิดการใช้การบีบอัด  header โดยใช้  gzip  สามารถเข้าไปดูวิธีการได้ที่
turn on IIS 6.0 gzip compression.       

 

l    

Comment

Comment:

Tweet


snippet.googalz.com
View full profile