เซสชันการควบคุมอย่างเคร่งครัด
เนื้อหาที่ไม่ต้องใช้เซสชัน (เช่นหน้าจอช่วยเหลือพื้นที่ผู้เยี่ยมชม ฯลฯ ) สามารถย้ายไปยังแอปพลิเคชัน ASP แบบสแตนด์อโลนที่ปิดเซสชัน ในหน้าพื้นฐานคุณสามารถให้คำสั่ง ASP เพื่อไม่ต้องใช้เซสชัน เพิ่มรหัสต่อไปนี้โดยตรงไปยังส่วนหัวของหน้า ASP:
<%@enableSessionState = false%>
แคชข้อมูลที่ใช้บ่อยบนเว็บเซิร์ฟเวอร์
โดยทั่วไปแล้วหน้า ASP จะดึงข้อมูลจากที่เก็บข้อมูลพื้นหลังจากนั้นสร้างผลลัพธ์ในรูปแบบของภาษามาร์กอัปไฮเปอร์เท็กซ์ (HTML) โดยไม่คำนึงถึงความเร็วของฐานข้อมูลมันเร็วกว่ามากในการดึงข้อมูลจากหน่วยความจำมากกว่าจากอุปกรณ์จัดเก็บข้อมูลพื้นหลัง การอ่านข้อมูลจากฮาร์ดไดรฟ์ในท้องถิ่นมักจะเร็วมาก ดังนั้นการปรับปรุงประสิทธิภาพสามารถทำได้โดยการแคชข้อมูลบนเซิร์ฟเวอร์ไม่ว่าจะเป็นแคชในหน่วยความจำหรือในฮาร์ดดิสก์ท้องถิ่น
การแคชเป็นการประนีประนอม "พื้นที่สำหรับเวลา" แบบคลาสสิก หากแคชอย่างถูกต้องคุณสามารถเห็นการปรับปรุงประสิทธิภาพที่สำคัญ เพื่อให้แคชมีประสิทธิภาพจำเป็นต้องทำให้แน่ใจว่าข้อมูลแคชมักถูกนำกลับมาใช้ใหม่และยุ่งยากในการคำนวณ แคชที่เต็มไปด้วยข้อมูลเก่า ๆ คือการสูญเสียหน่วยความจำ
ข้อมูลที่ไม่เปลี่ยนแปลงบ่อยครั้งเป็นวัตถุที่ดีกว่าสำหรับแคชเนื่องจากไม่จำเป็นต้องพิจารณาการดำเนินการซิงโครไนซ์หลังจากการอัปเดตข้อมูลเหล่านี้ได้ตลอดเวลา กล่องคำสั่งผสม, ตารางอ้างอิง, รหัส DHTML, สายภาษามาร์กอัปเพิ่มเติม, เมนูและตัวแปรการกำหนดค่าไซต์ (รวมถึงชื่อแหล่งข้อมูลที่อยู่อินเทอร์เน็ตโปรโตคอลที่อยู่ IPS และเส้นทางเว็บ) เป็นวัตถุแคชที่ดีทั้งหมด หมายเหตุ: การแสดงออกของข้อมูลถูกแคชแทนข้อมูลเอง หากหน้า ASP เปลี่ยนแปลงบ่อยครั้งและกำลังดิ้นรนเพื่อแคช (เช่นแคตตาล็อกผลิตภัณฑ์ทั้งหมด) คุณควรพิจารณา HTML ที่สร้างล่วงหน้าแทนการอธิบายทุกครั้งที่มีการร้องขอ
แคชข้อมูลที่ใช้บ่อยในแอปพลิเคชันหรือวัตถุเซสชัน
แอปพลิเคชันและวัตถุเซสชันใน ASP เป็นคอนเทนเนอร์ที่สะดวกสำหรับข้อมูลแคชในหน่วยความจำ คุณสามารถกำหนดข้อมูลให้กับแอปพลิเคชันและวัตถุเซสชันซึ่งจะยังคงอยู่ในหน่วยความจำระหว่างการโทร HTTP ข้อมูลในเซสชันสำหรับผู้ใช้ทุกคนและข้อมูลในแอปพลิเคชันจะถูกแชร์โดยผู้ใช้ทุกคน
ฉันต้องโหลดข้อมูลในแอปพลิเคชันและเซสชันเมื่อใด โดยปกติแล้วข้อมูลจะถูกโหลดเมื่อแอปพลิเคชันเริ่มต้นหรือเซสชันเริ่มต้น ในการโหลดข้อมูลในเวลานี้ให้เพิ่มรหัสที่เหมาะสมลงในแอปพลิเคชัน onstart () หรือเซสชัน onstart () ตามลำดับ ฟังก์ชั่นเหล่านี้อยู่ในไฟล์ global.asa และจะเพิ่มหากไม่มีอยู่ นอกจากนี้คุณยังสามารถโทรหาข้อมูลเมื่อจำเป็นเป็นครั้งแรกเพิ่มรหัสลงในหน้า ASP เพื่อตรวจสอบว่าข้อมูลมีอยู่หรือไม่ ถ้าไม่พบให้เรียกมันลงไป นี่คือตัวอย่างที่แสดงถึงเทคนิคการประมวลผลประสิทธิภาพแบบคลาสสิกที่เรียกว่า "Lazy Evaluation": จนกว่าจะจำเป็นจากนั้นไปที่การคำนวณ
คัดลอกข้อมูลที่ใช้บ่อยลงในตัวแปรสคริปต์
เมื่อเข้าถึงวัตถุ COM ใน ASP คุณควรคัดลอกข้อมูลวัตถุที่ใช้บ่อย ๆ ลงในตัวแปรสคริปต์ซึ่งจะช่วยลดการเรียกใช้วิธีการไปยังวัตถุ COM การโทรเหล่านี้ใช้เวลาค่อนข้างนานและใช้งานได้มากกว่าการเข้าถึงตัวแปรสคริปต์ การใช้เคล็ดลับนี้ยังช่วยลดการดำเนินการค้นหาที่มีราคาแพงเมื่อเข้าถึงคอลเลกชันและวัตถุพจนานุกรม
โดยทั่วไปหากคุณต้องการเข้าถึงข้อมูลวัตถุมากกว่าหนึ่งครั้งคุณควรใส่ข้อมูลลงในตัวแปรสคริปต์โดยส่วนใหญ่เป็นตัวแปรคำขอ (ตัวแปรฟอร์มและคิวรีสตริง) ตัวอย่างเช่นไซต์ต้องการผ่านตัวแปรสตริงแบบสอบถามที่เรียกว่า userId สมมติว่าจะมีการอ้างอิง 12 ครั้งในหน้าพิเศษจากนั้นไม่จำเป็นต้องเรียกร้องคำขอ ("userId") 12 ครั้ง เพียงกำหนดตัวแปร USERID ให้กับส่วนหัวของหน้า ASP จากนั้นใช้ในหน้าเว็บนี้จะบันทึกการโทร 11 รายการไปยังวิธี COM