1. แคช ASP คืออะไร/ทำไมแคช
ในความเป็นจริงเมื่อเว็บไซต์ของคุณก่อตั้งขึ้นในระยะแรกของเทคโนโลยี ASP สิ่งที่อาจรู้สึกได้คือความสะดวกสบายที่นำโดยเทคโนโลยีเว็บแบบไดนามิก ASP รวมถึงการดัดแปลงฟรีและการควบคุม HTTP ฟรี แต่ด้วยปริมาณการเข้าถึงที่เพิ่มขึ้นคุณจะพบว่าความเร็วในการเข้าถึงไซต์ของคุณจะช้าลงและช้าลงและ IIS เริ่มต้นใหม่ ดังนั้นคุณต้องเพิ่มประสิทธิภาพโปรแกรม ASP ของคุณเช่นการเปลี่ยนฐานข้อมูลด้วยประสิทธิภาพที่ดีขึ้นการสร้างดัชนีการเขียนขั้นตอนการจัดเก็บและอื่น ๆ มาตรการเหล่านี้บางอย่างไม่จำเป็นต้องเพิ่มความดันต้นทุนในขณะที่ความดันต้นทุนบางส่วน (เช่นการเข้าถึงคลัสเตอร์ไปยัง SQL) และผลกระทบไม่จำเป็น
เมื่อเผชิญกับแรงกดดันของการเข้าถึงเว็บฉันคิดว่าวิธีที่ประหยัดที่สุดคือการใช้เทคโนโลยีการเพิ่มประสิทธิภาพแคชเพื่อบรรเทาความกดดันบริการของเว็บ
ปริมาณการเข้าถึงเว็บที่เพิ่มขึ้นมักหมายถึงการเติบโตอย่างรวดเร็วของความต้องการทรัพยากรดังต่อไปนี้:
1. การรับส่งข้อมูลการ์ดเครือข่ายที่เพิ่มขึ้นจำเป็นต้องใช้การรับส่งข้อมูลเครือข่ายการประมวลผล CPU และเธรด I/O เครือข่ายมากขึ้น
2. จำเป็นต้องเปิด/ปิดการเชื่อมต่อฐานข้อมูลบ่อยขึ้น (หากใช้เทคโนโลยีฐานข้อมูล -ASP จะใช้ฐานข้อมูลเป็นที่เก็บข้อมูล) จำนวนสิ่งต่าง ๆ ที่ใช้ทรัพยากรอย่างจริงจังและการหยุดชะงักที่เกิดจากทรัพยากรการแข่งขันของการแข่งขัน การทำธุรกรรมซึ่งจะเพิ่มเครือข่าย I/O
3. หากใช้เซสชัน IIS จะใช้หน่วยความจำมากขึ้นเพื่อรักษาสถานะและการใช้หน่วยความจำอาจทำให้หน่วยความจำทางกายภาพไม่เพียงพอทำให้เกิดการแลกเปลี่ยนบ่อยครั้งระหว่างหน่วยความจำทางกายภาพและหน่วยความจำเสริมซึ่งทำให้การดำเนินการรหัสหยุด
4. เนื่องจากการตอบสนองที่ทันเวลาของการเข้าถึงความล้มเหลวในการเข้าถึงเว็บเพจจะเกิดขึ้นซึ่งจะทำให้ผู้ใช้รีเฟรชดังนั้นจึงทำให้รุนแรงขึ้นความต้องการของซีพียูหน่วยความจำและทรัพยากรอื่น ๆ
ในความเป็นจริงการพิจารณาเว็บแอปพลิเคชันปกติหลายครั้งที่การดำเนินการรหัสแบบไดนามิกไม่จำเป็น
2. การจำแนกประเภทของแคช ASP
สรุปโดยไม่ได้รับอนุญาตแคชของ ASP สามารถแบ่งออกเป็นสองประเภท:
1. แคชไฟล์
แคชไฟล์ที่เรียกว่า SO คือการตัดสินตามการตัดสินเชิงตรรกะ สามารถเข้าถึงไฟล์แบบคงที่จากการเปลี่ยนเส้นทางเว็บสู่เทคโนโลยีเพื่อตอบสนองความต้องการในการลดซีพียูทรัพยากรฐานข้อมูล มีแอพพลิเคชั่นมากมาย ด้านคงที่คงที่มีผลข้างเคียง (ประโยชน์) -สามารถรวมได้อย่างง่ายดายโดยเครื่องมือค้นหาเช่น Google ระบบการแถลงข่าวที่เรียกว่าบางอย่างได้นำเทคโนโลยีนี้มาใช้
2. แคชบ่มฟิล์มไฟล์
แคชไฟล์ที่เรียกว่า SO นั้นขึ้นอยู่กับการตัดสินเชิงตรรกะ ข้อมูลในรูปแบบของไฟล์ ตัวอย่างเช่นเรามักจะจัดเก็บข้อมูลบางอย่างในรูปแบบ XML จากนั้นใช้เทคโนโลยี XSLT เพื่อใช้การแสดงผล (การประมวลผล XML มักจะต้องใช้ทรัพยากร CPU จำนวนมากดังนั้นเช่นมักจะอ่าน XML โดยตรงไปยังไคลเอนต์เพื่อจัดการกับ CPU ของลูกค้า) นี่คือวิธีการประมวลผลฟอรัมของ CSDN
3. แคชหน่วยความจำหลัก
นอกจากนี้คุณยังสามารถพิจารณาจัดการกับแคชในหน่วยความจำและจัดเก็บเนื้อหาที่ต้องตอบสนองในเวลาที่เหมาะสมในหน่วยความจำ หากความต้องการการเข้าถึงจำนวนมากมีความเข้มข้นในหน้าเล็ก ๆ หรือที่เก็บข้อมูลหลักหลายหน้าฉันต้องการใช้แคชหน่วยความจำหลักเพื่อปรับปรุงประสิทธิภาพการเข้าถึงเว็บอย่างมาก
3. วิธีการบรรลุ/ใช้แคช
ปัญหาต่อไปนี้จำเป็นต้องได้รับการพิจารณาเพื่อใช้แคช:
1. หน้าใดจะไม่เปลี่ยนแปลงในเวลาอันสั้น?
วิเคราะห์ไซต์ของคุณเองมีหลายหน้า ตัวอย่างเช่นเว็บไซต์มักจะมีคอลัมน์ข่าวและข้อมูล จากนั้นหน้าเหล่านี้เหมาะสำหรับแคชที่มีไฟล์คงที่ ในความเป็นจริงระบบข่าวประชาสัมพันธ์ที่เรียกว่าดังนั้นคุณยังสามารถอ้างถึงแนวคิดของระบบเหล่านี้เพื่อแปลงหน้า ASP แบบไดนามิกดั้งเดิมของคุณ
2. หน้าเหล่านั้นถูกสร้างขึ้นสำหรับการเข้าชมทั้งหมดเพื่อสร้างตรรกะเดียวกัน (นั่นคือไม่แยกความแตกต่างระหว่างผู้เข้าชม)
ยกเว้นคอลัมน์เช่นข่าวและข้อมูลผู้เข้าชมทั้งหมดจะดูอินเทอร์เฟซและการประยุกต์ใช้ทรัพยากรเช่นฟอรัมและทรัพยากรการบริโภคอื่น ๆ โดยทั่วไปสามารถออกแบบเป็นรุ่นตรรกะแบบครบวงจร (โพสต์เดียวกัน Zhang Sanli และ Sisi ก็เหมือนกัน ) นอกจากนี้คุณยังสามารถพิจารณาการทำลายข้อมูลและใช้เทคโนโลยีสคริปต์นอกเหนือจากความสามารถในการประมวลผลเซิร์ฟเวอร์นั่นคือเบราว์เซอร์ไคลเอนต์สำหรับการประมวลผล
3. ใช้ต้นทุนและเก็บเกี่ยวแคช
ส่วนใหญ่เวลาสำหรับการเปลี่ยนแปลงอวกาศ (การตอบสนอง) ใช้เทคโนโลยีแคชเพื่อประมวลผลเนื้อหาที่จำเป็นบ่อยครั้งเพื่อปรับปรุงความสามารถในการตอบสนองของเว็บเซิร์ฟเวอร์และที่สำคัญกว่านั้นคือการชนะความโปรดปรานของผู้เข้าชม
ราคาคือความต้องการพื้นที่เว็บเพิ่มขึ้นและอาจส่งผลกระทบต่อเอฟเฟกต์การเข้าถึง
แต่ฉันคิดว่าแคชที่เหมาะสมนั้นยิ่งใหญ่กว่าข้อเสีย
4. แทนที่จะใช้แคชในสถานที่เหล่านั้น
หน้าแบบสอบถามแบบไดนามิกเนื้อหาการสืบค้นของแต่ละคนแตกต่างกันดังนั้นผลลัพธ์การแสดงผลจึงไม่เหมือนกันดังนั้นจึงไม่น่าจะสร้างแคชผลลัพธ์แบบสอบถามดังนั้นแคชจึงซับซ้อนกว่าและที่ด้านล่างของอัตราการใช้แคช ค่าใช้จ่ายในการจัดการ
ประการที่สี่การวิเคราะห์อินสแตนซ์
สมมติว่ารูปแบบดั้งเดิมของฟอรัมคำแนะนำมีดังนี้:
ในไดเรกทอรีราก:
default.asp หน้าแรกโดยทั่วไปสาระสำคัญคำแนะนำและสิ่งที่คล้ายกัน
listborad.asp ไฟล์นี้แสดงชื่อและการแนะนำของคอลัมน์ทั้งหมด
ListThread.asp ไฟล์ไม่ได้พกพาพารามิเตอร์ใด ๆ เพื่อระบุสติกเกอร์ทั้งหมดและพกพา mainbid เพื่อแสดงสติกเกอร์ทั้งหมดของชิ้นส่วนที่แน่นอน หากดำเนินการย่อยเพื่อระบุโพสต์ของคอลัมน์เฉพาะ หากคุณพกพาพารามิเตอร์หน้าเพื่อระบุการแบ่งหน้าของหัวข้อ
ViewThread.asp แสดงเนื้อหาสติกเกอร์บางอย่าง เราคิดว่าโพสต์จะแสดงเป็นคำพูดและทั้งหมดที่ติดตามสติกเกอร์อยู่ด้านหลัง พารามิเตอร์ ID คือโพสต์ที่จะแสดง
ตอบกลับ. ASP ตอบกลับโพสต์บางรายการพกพาพารามิเตอร์เพื่อตอบกลับโพสต์บางรายการ
ไม่มีการสนทนาอื่น ๆ
ด้านบนเราจะเห็นได้ว่าหากทั้งหมดของพวกเขาดำเนินการโดยใช้ ASP/PHP ดั้งเดิมการดำเนินการของไฟล์ ASP เกือบทุกไฟล์ต้องใช้การดำเนินการฐานข้อมูลการสืบค้นบ่อยครั้งและแบบสอบถามหลายตัว ควรทราบว่าฐานข้อมูลการสืบค้นในที่สุดจะทำให้ประสิทธิภาพลดลงความเร็วในการตอบสนองลดลงและผลกระทบการท่องเว็บที่ช้าต่อผู้เข้าชมจะไม่เอื้อต่อคุณภาพของเว็บ ที่สำคัญกว่าสำหรับคนสองคนใน A และ B พวกเขาไปที่ ViewThread.asp และ like ถ้า ids สอดคล้องกันหลายครั้งที่พวกเขาจะเห็นเนื้อหาเดียวกัน (รหัส HTML ที่ได้รับจากเบราว์เซอร์ของพวกเขาเกือบจะเหมือนกัน) แต่สำหรับ สำหรับสิ่งนี้ในเนื้อหาเดียวกันเซิร์ฟเวอร์จำเป็นต้องเปิดการเชื่อมต่อฐานข้อมูลการสืบค้นอ่านบันทึกและแสดงว่าการเชื่อมต่อบันทึกและการเชื่อมต่อฐานข้อมูลถูกปิด แก่นแท้ แก่นแท้ แก่นแท้ หากผู้คนจำนวนมากเข้าถึงได้มากขึ้นผลลัพธ์สุดท้ายคือคนเหล่านี้ทำให้ทรัพยากรเซิร์ฟเวอร์รุนแรงขึ้น ในความเป็นจริงแรงงานที่ซ้ำกันสำหรับเนื้อหาเดียวกันสามารถปรับให้เหมาะสมด้วยเทคโนโลยีแคช ตัวอย่างเช่น:
หลังจากส่งเนื้อหาของ repy.asp แล้วเราเรียกฟังก์ชันสแตติกทันทีเพื่อสร้างเนื้อหาแบบคงที่ไปยังไฟล์ HTML แบบคงที่เช่น viewThread_xxxx.htm แล้วเมื่อไปที่ ViewThread.asp? มุมมองไฟล์คงที่ที่สอดคล้องกัน ViewThreadxxxx.htm ด้วยวิธีนี้เมื่อโพสต์ไม่ได้ล่าสุดเขาจะได้รับการให้กับเนื้อหาคงที่ของผู้ชมเสมอ
Listborad.asp ยังสามารถใช้งานแบบคงที่ เราสามารถวิเคราะห์พารามิเตอร์ที่อาจดำเนินการตั้งค่าชื่อไฟล์แคชเป็น listboard_xx.htm และอัปเดต listboard_xxx.htm เมื่อเพิ่มคอลัมน์ใหม่ ListThread.asp คล้ายกัน แต่เนื่องจากพารามิเตอร์มากขึ้นจึงมีไฟล์แคชจำนวนมาก หากคุณต้องการแคช ListThread.asp? เช่นเดียวกับค่าเริ่มต้นของค่าเริ่มต้น
แล้วจะตัดสินว่าจะอัปเดตเมื่อใด อัปเดตกี่โมง?
讨论 ListThread.asp? ไฟล์คงที่ โปรดทราบว่าไม่มีการดำรงอยู่ที่นี่หมายความว่าการเกิดขึ้นของเนื้อหาใหม่ต้องการให้เราอัปเดต
ไฟล์จะไม่มีอยู่จริงได้อย่างไร? ลบ. เราสามารถลบไฟล์คงที่ทั้งหมดเช่น listThread_xxx_p2.htm เมื่อเผยแพร่สติกเกอร์ใหม่การลบสติกเกอร์และสติกเกอร์ที่เคลื่อนย้าย ด้วยวิธีนี้แคชจะได้รับแจ้ง
ยังมีปัญหาที่เหลืออยู่ในขณะนี้วิธีการสร้างไฟล์คงที่?
เราสังเกตเห็นว่าเนื้อหาเดียวกันที่เราพูดถึงก่อนหน้านี้我们可以将改造前的 default.asp、 listThread.asp 等拷贝一个副本, 取名为 default_d.asp、 listTHREAD_2.ASP, 且在同一个目录中(理论上 ListTHTRAD.ASP? subid = 123 同 listTHREAD_D.ASP? ผลการเข้าถึงของ subid = 123 จะเป็นเนื้อหาเดียวกัน) ดังนั้นในตรรกะของความจำเป็นในการสร้างไฟล์คงที่เราเรียกสำเนาก่อนการแก้ไขโดยคำขอการเข้าถึงเว็บรับรหัส HTML และจัดเก็บเป็น ไฟล์คงที่ คำขอเว็บนี้เทียบเท่ากับก่อนที่ผู้ดูจริงจะเข้าถึงเนื้อหาคงที่เซิร์ฟเวอร์นั้นจะถูกตรวจสอบโดย HTML ที่จะส่งออกจากนั้นส่งคืนรหัสเหล่านี้เพื่อจัดเก็บฟังก์ชั่นการทำงานของไฟล์เป็นไฟล์คงที่ ด้วยวิธีนี้ไฟล์แคชถูกสร้างขึ้นก่อนที่ผู้ชมจริง
โครงการดังกล่าวแทบจะไม่ได้สัมผัสเค้าโครงดั้งเดิมและแทบจะไม่ทำให้เกิดข้อผิดพลาดเช่น 404 เนื่องจากการเปลี่ยนแปลง ประการที่สองไฟล์คงที่จะช่วยให้ไซต์ของคุณรวมอยู่ในเครื่องมือค้นหาเช่น Google ได้อย่างง่ายดาย ทำไมไม่?
ในที่สุดเตือนว่าผ่านการเข้าถึงเว็บในสภาพแวดล้อมการเขียนโปรแกรม ASP หลายคนใช้ส่วนประกอบ XMLHTTP เพื่อเข้าถึงซึ่งจะทำให้เกิดปัญหามากมาย ทรัพยากรที่ XMLHTTP เองจะแคชคำขอส่งผลให้เนื้อหาที่ได้รับจากคำขอของเราผ่านส่วนประกอบนี้ทำให้เกิดความสับสนอย่างมีเหตุผล ดังนั้นคุณควรเลือกวัตถุ HTTP เซิร์ฟเวอร์ XML หรือส่วนประกอบ WinHTTP เพื่อใช้ทรัพยากรคำขอเว็บ
80 โพสต์ -ภาษาที่เลือก: มีหลายสิ่งสำคัญที่จะบรรลุเทคโนโลยีแคช
แอปพลิเคชันด้านเซิร์ฟเวอร์ซึ่งเหมาะสำหรับหลาย ๆ หน้ามีองค์ประกอบเพิ่มเติมที่ไม่ได้รับการปรับปรุงบ่อยครั้ง
ไฟล์ HTML แบบคงที่ถูกสร้างขึ้นและเทคโนโลยีเทมเพลตมักใช้เพื่อสร้างไฟล์แบบคงที่ผ่าน FSO หรือ AdoStream
อื่น
ในความเป็นจริงสิ่งที่สำคัญที่สุดคือการตัดสินใจว่าเทคโนโลยีใดที่จะนำมาใช้ตามความต้องการของระบบของคุณเองเพื่อลดจำนวนฐานข้อมูลแบบสอบถามให้น้อยที่สุดและลดความกดดันของฐานข้อมูล .
นอกจากนี้ยังเป็นการพิจารณาว่าแคชของไคลเอนต์สามารถใช้เพื่อปรับปรุงประสิทธิภาพได้หรือไม่?