วิธีที่เชื่อถือได้ในการดูสถิติประสิทธิภาพเฉพาะกระบวนการในกลุ่มแอป IIS6

ใน perfmon ใน Windows Server 2003 มีออบเจ็กต์ตัวนับเพื่อรับเวลาตัวประมวลผลต่อกระบวนการและสถิติชุดการทำงานของหน่วยความจำ ปัญหาเดียวคือในสภาพแวดล้อมที่มีกลุ่มแอปพลิเคชันหลายตัว ไม่มีวิธีใดที่จะระบุกระบวนการของผู้ปฏิบัติงานที่ถูกต้องได้อย่างน่าเชื่อถือ ใน perfmon ทั้งหมดเรียกว่า "w3wp" และหากมีมากกว่าหนึ่งรายการ จะเป็น w3wp, w3wp#1, w3wp#2 และอื่นๆ แม้แต่ชื่อเหล่านี้ก็ไม่น่าเชื่อถือ - จำนวนนั้นขึ้นอยู่กับว่าชื่อใดที่เริ่มต้นก่อน และเห็นได้ชัดว่ามีการเปลี่ยนแปลงเมื่อมีการรีไซเคิลกลุ่มแอพเนื่องจากกระบวนการถูกทำลายและเริ่มต้นใหม่

ฉันไม่พบตัวนับเฉพาะ ASP.NET ใด ๆ และด้วยเหตุผลบางอย่าง วัตถุ IIS ของฉันไม่ได้แยกอินสแตนซ์ - มีอินสแตนซ์ "ทั่วโลก" เพียงอินสแตนซ์เดียวเท่านั้น

ท้ายที่สุด ฉันแค่ต้องการตัวนับ "% เวลาตัวประมวลผล" และ "ชุดการทำงาน" สำหรับกลุ่มแอป IIS เฉพาะ มีข้อเสนอแนะอะไรบ้าง?


person Daniel Schaffer    schedule 16.12.2008    source แหล่งที่มา
comment
ปัญหาเดียวกันที่นี่... เปิดตัวคำถามใหม่ (ใครจะรู้) มาแล้ว หวังว่าฉันจะได้รับคำตอบ... stackoverflow.com/questions/2160726/   -  person Mose    schedule 29.01.2010


คำตอบ (2)


เราจะเก็บรวบรวมสถิติสำหรับกระบวนการ w3wp ทั้งหมดเสมอ และเราจะบันทึก PID นี่เป็นหนึ่งในตัวนับในกลุ่มกระบวนการ

มีสคริปต์ที่ไซต์อยู่ในโฟลเดอร์ system32 ของ Server 2003 ชื่อ IISApp.vbs ซึ่งจะแสดงรายการกระบวนการทั้งหมดและ PID ของพวกเขา คุณจะต้องเรียกใช้สิ่งนี้เพื่อจับ PID

ฉันแน่ใจว่าจะต้องมีวิธีที่ดีกว่า แต่จะได้ผลเมื่อเราต้องทำการตรวจสอบเฉพาะกิจ

person JoshBerke    schedule 16.12.2008

อินสแตนซ์ w3wp อาจไม่ปรากฏขึ้น หากกระบวนการของผู้ปฏิบัติงานไม่ได้ใช้งานเป็นเวลานาน ต้องใช้อินเทอร์เฟซ UI ในช่วงระยะเวลาสั้นๆ เพื่อให้กระบวนการของผู้ปฏิบัติงาน (w3wp) สามารถแสดงในอินสแตนซ์ได้

person Venkat    schedule 17.01.2012