หากคุณต้องการรีบูตเครื่องคอมพิวเตอร์เพื่อปรับปรุงประสิทธิภาพอาจเป็นได้ว่าในที่สุดคุณกำลังประสบปัญหาการจัดการหน่วยความจำ
แคชเป็นสิ่งที่ดี
หากมีสิ่งใดการรีบูตเซิร์ฟเวอร์อาจส่งผลเสียต่อประสิทธิภาพ (และเวลาที่แน่นอน) ในสภาพแวดล้อมที่เหมาะสมยิ่งขึ้น หนึ่งในพื้นฐานของประสิทธิภาพในการคำนวณคือการใช้ประโยชน์จากแคช (มีข้อมูลอยู่ในหน่วยความจำเร็ว) ทุกครั้งที่คุณรีบู๊ตคุณจะล้างแคชของคุณ นี่เป็นเรื่องจริงสำหรับทั้งเซิร์ฟเวอร์ SQL และ IIS แม้ว่าคุณอาจไม่ได้มีสภาพแวดล้อมที่เหมาะสม แต่สิ่งต่อไปนี้ควรช่วยแนะนำให้คุณเลือกตัวเลือกที่ดีกว่าการรีบูทเซิร์ฟเวอร์ตามกำหนดเวลา
การรั่วไหลของหน่วยความจำ IIS?
ตอนนี้คุณพูดถึงว่านี่คือ IIS 7.5 แม้ว่าฉันจะพบว่ามันน่าหดหู่ใจเว็บแอปมากมายที่ทำงานบน IIS 7.5 มีหน่วยความจำรั่วที่ค่าเริ่มต้นใน IIS คือการรีสตาร์ทแอปทุก ๆ X นาทีและปิดลงหากแอพว่าง อุดมคติคือการแก้ไขการรั่วไหลของหน่วยความจำ - แต่ถ้าคุณทำไม่ได้คุณอาจปรับการตั้งค่าเหล่านี้ซึ่งรวมถึงการ จำกัด หน่วยความจำและตัวจับเวลา คุณสามารถใช้ perfmon เพื่อหาว่ากระบวนการ w3wp ใดกำลังใช้หน่วยความจำ มันเป็นบิตของความเจ็บปวด แต่คุณสามารถผูกมันกลับมาว่ายน้ำใน app %systemroot%\system32\inetsrv\APPCMD list wps
กับ
หน่วยความจำ SQL
กลับไปสู่การแคช SQL จะใช้หน่วยความจำเท่าที่จะทำได้ คุณสามารถ จำกัด สิ่งนี้ได้ในคุณสมบัติสำหรับเซิร์ฟเวอร์ SQL ถ้าคุณไม่ จำกัด หน่วยความจำและคุณกำลังเรียกใช้ IIS บนกล่องสิ่งเหล่านี้สามารถเริ่มต่อสู้เพื่อประสิทธิภาพการฆ่าหน่วยความจำ บทความนี้จะเข้าสู่ที่ยอดเยี่ยมนี้ในรายละเอียด: คู่มือการดูแลระบบของหน่วยความจำไปยัง Microsoft SQL
สมดุล
เนื่องจากคุณมีทั้ง IIS และ SQL ในกล่องเดียวกันคุณจะต้องปรับสมดุลการใช้หน่วยความจำ หากคุณไม่ทำเช่นนั้นคุณอาจได้รับหน่วยความจำที่น่าจะถูกนำไปใช้สลับกับดิสก์อีกครั้งซึ่งเป็นสถานที่ที่น่ากลัว (ควรมีเคาน์เตอร์สำหรับการแลกเปลี่ยนกิจกรรม) โดยใช้การตั้งค่า IIS Recycle และขีด จำกัด หน่วยความจำ SQL คุณควรจะสามารถทำให้ระบบนี้มีเสถียรภาพ เพื่อความสมดุลคุณอาจต้องใช้หน่วยความจำมากกว่า 4GB นอกจากนี้หากเป็นตัวเลือกฉันขอแนะนำอย่างยิ่งให้วางเซิร์ฟเวอร์ SQL ไว้ในเครื่องเฉพาะ - มันจะทำให้ประสิทธิภาพดีขึ้นและทำให้สิ่งต่าง ๆ ง่ายขึ้นอย่างมาก