ฉันพยายามพูดด้วยคำอื่น
ในเซิร์ฟเวอร์คุณสามารถมีไซต์ asp.net จำนวนมากที่ทำงานร่วมกัน แต่ละเว็บไซต์หนึ่งเป็นโดเมนแอป
คุณต้องกำหนดให้แต่ละของพวกเขาเป็นหนึ่งในแอพลิเคชัน โดเมนแอปพลิเคชันจำนวนมาก (ไซต์) สามารถมีพูลแอปพลิเคชันเดียวกันและเนื่องจากมีพูลแอปพลิเคชันเดียวกันจึงทำงานภายใต้กระบวนการเดียวกันและอยู่ภายใต้บัญชีเดียวกันและมีการตั้งค่าพูลที่เหมือนกัน หากพูลนี้รีสตาร์ทไซต์ทั้งหมดในพูลนั้นจะรีสตาร์ท
ตอนนี้แต่ละพูลสามารถมีกระบวนการผู้ปฏิบัติงานได้ตั้งแต่หนึ่งกระบวนการขึ้นไป กระบวนการของผู้ปฏิบัติงานแต่ละคนเป็นโปรแกรมที่แตกต่างกันซึ่งเรียกใช้ไซต์ของคุณมีตัวแปรคงที่เพียงอย่างเดียวพวกเขาเริ่มหยุดการโทรที่แตกต่างกัน ฯลฯ กระบวนการของผู้ปฏิบัติงานที่แตกต่างกันจะไม่สื่อสารกันและวิธีเดียวที่จะแลกเปลี่ยนข้อมูลคือจากไฟล์ทั่วไปหรือฐานข้อมูลทั่วไป หากคุณมีกระบวนการของผู้ปฏิบัติงานมากกว่าหนึ่งกระบวนการและหนึ่งในนั้นทำการคำนวณเป็นเวลานานกระบวนการอื่น ๆ สามารถจัดการการโทรทางอินเทอร์เน็ตและแสดงเนื้อหาได้
เมื่อคุณกำหนดกระบวนการของผู้ปฏิบัติงานจำนวนมากให้กับกลุ่มเดียวคุณจะสร้างเว็บการ์เด้นที่เรียกว่าและไซต์ของคุณจะถูกเรียกใช้จากคอมพิวเตอร์มากกว่าหนึ่งเครื่องหากคอมพิวเตอร์เป็นเครื่องประมวลผลหนึ่งเครื่อง
แต่ละกระบวนการของผู้ปฏิบัติงานสามารถมีหลายเธรด
กระบวนการของผู้ปฏิบัติงานมากขึ้นส่งผลต่อคุณอย่างไร:
เมื่อคุณมีผู้ปฏิบัติงานหนึ่งคนกระบวนการทุกอย่างจะง่ายขึ้นในบรรดาแอปพลิเคชันของคุณตัวแปรคงที่เหมือนกันทั้งหมดและคุณใช้lock
เพื่อซิงโครไนซ์
เมื่อคุณกำหนดกระบวนการของผู้ปฏิบัติงานมากกว่าหนึ่งกระบวนการคุณยังคงใช้lock
สำหรับตัวแปรคงที่ตัวแปรคงที่จะไม่แตกต่างกันในการรันไซต์ของคุณจำนวนมากและหากคุณมีทรัพยากรร่วมกัน (เช่นการสร้างภาพขนาดย่อบนดิสก์) Mutex
แล้วคุณจะต้องประสานกระบวนการทำงานของคุณด้วย
อีกหนึ่งบันทึก ฟังดูแล้วว่าเมื่อคุณสร้างกระบวนการของผู้ปฏิบัติงานมากขึ้นคุณอาจโหลดเพจแบบอะซิงโครนัสได้อย่างราบรื่นมากขึ้น มีปัญหาเล็กน้อยเกี่ยวกับตัวจัดการเซสชันของ asp.net ที่ล็อกกระบวนการทั้งหมดสำหรับการโหลดหน้าซึ่งเป็นสิ่งที่ดีและไม่ดีขึ้นอยู่กับว่าคุณรู้และจัดการได้หรือไม่หรือเปลี่ยนแปลง
ดังนั้นให้พูดถึงไซต์เดียวกับกระบวนการของผู้ปฏิบัติงานจำนวนมาก Mutex
ที่นี่คุณต้องเผชิญกับปัญหาที่คุณจะต้องประสานการเปลี่ยนแปลงทรัพยากรร่วมกันของคุณด้วย แต่เพจ / ตัวจัดการที่ใช้เซสชันจะไม่อะซิงโครนัสเนื่องจากเซสชันล็อกไว้ นี่เป็นสิ่งที่ดีสำหรับการเริ่มต้นเพราะคุณหลีกเลี่ยงที่จะทำการซิงโครไนซ์หลาย ๆ จุดด้วยตนเอง
คำถามบางข้อในหัวข้อนี้:
เว็บแอปถูกบล็อกขณะประมวลผลเว็บแอปอื่นในการแชร์เซสชันเดียวกัน
jQuery Ajax เรียกใช้บริการเว็บดูเหมือนว่า
เซิร์ฟเวอร์ ASP.NET แบบซิงโครนัสไม่ประมวลผลเพจแบบอะซิงโครนัส
แทนที่เซสชันของ ASP.Net ทั้งหมด
ตอนนี้การล็อกเซสชันนี้ไม่ส่งผลต่อไซต์ต่างๆ
ในบรรดาไซต์ต่างๆกระบวนการทำงานที่มากขึ้นสามารถช่วยไม่ให้ไซต์หนึ่งบล็อกอีกไซต์หนึ่งด้วยกระบวนการทำงานที่ยาวนาน
นอกจากนี้ในไซต์ต่างๆยังมีพูลที่สามารถช่วยได้อีกด้วยเนื่องจากแต่ละพูลมีกระบวนการทำงานอย่างน้อยหนึ่งกระบวนการ แต่อย่าลืมและดูด้วยตัวคุณเองโดยใช้ตัวสำรวจกระบวนการแต่ละกระบวนการทำงานใช้หน่วยความจำของคอมพิวเตอร์ของคุณมากกว่าและเซิร์ฟเวอร์ขนาดใหญ่หนึ่งเซิร์ฟเวอร์ที่มีหน่วยความจำ 16G และเซิร์ฟเวอร์ SQL หนึ่งตัวไม่สามารถมีกระบวนการทำงานที่แตกต่างกันมากเกินไปตัวอย่างเช่นบนเซิร์ฟเวอร์ที่มีไซต์ที่ใช้ร่วมกัน 100 ไซต์คุณไม่สามารถมีพูลที่แตกต่างกันได้ 100 พูล