เหตุใดพูลแอ็พพลิเคชัน 32 บิตจึงมีประสิทธิภาพมากกว่าใน IIS [ปิด]


12

ฉันทำการทดสอบโหลดด้วยเว็บแอพพลิเคชั่น ASP.NET สองตัวใน IIS การทดสอบดำเนินการกับตัวแทนผู้ใช้ 5,10,25 และ 250 ทดสอบบนกล่องที่มี RAM 8 GB, Windows 7 Ultimate x64 กล่องเดียวกันที่รันทั้ง IIS และโครงการทดสอบโหลด

ฉันทำงานหลายครั้งและข้อมูลสอดคล้องกันมาก สำหรับการโหลดทุกครั้งฉันจะเห็น "การเฉลี่ยเวลาหน้า (วินาที)" และการ "การตอบกลับโดยเฉลี่ย (วินาที)" ที่ต่ำลงถ้าฉันตั้ง "เปิดใช้งานแอปพลิเคชัน 32 บิต" เป็น True ในกลุ่มแอปพลิเคชัน ความแตกต่างทำให้โหลดได้มากขึ้น ที่โหลดสูงมากเว็บแอปพลิเคชั่นจะเริ่มโยนข้อผิดพลาด (503) หากพูลแอ็พพลิเคชันเป็น 64 บิต แต่สามารถติดตามได้หากตั้งค่าเป็น 32 บิต

เหตุใดพูลของแอป 32 บิตจึงมีประสิทธิภาพมากกว่ามาก เหตุใดจึงไม่เริ่มต้นสำหรับกลุ่มแอปพลิเคชัน 32 บิต

คำตอบ:


16

ตัวชี้หน่วยความจำ 64 บิตและโครงสร้างข้อมูลอื่น ๆ ที่เกี่ยวข้องมีขนาดใหญ่เป็นสองเท่าของหน่วยความจำ 32 บิต นอกจากนี้เธรดผู้ปฏิบัติงาน 64- บิตจะได้รับโทษทุกครั้งที่มีการเข้าถึงรหัส 32- บิตหรือ DLL เมื่อมันเปลี่ยนโหมด (วิจัย WoW64 และ thunking)

ข้อดีที่สุดของการใช้ 64 บิตคือความสามารถในการจัดการหน่วยความจำได้มากขึ้น หากแอพของคุณไม่ได้ใช้หน่วยความจำมากกว่า 2 หรือ 3 กิกะไบต์และคุณไม่จำเป็นต้องเรียกใช้รหัส 64 บิตโดยเฉพาะอาจเป็นเพราะคุณไม่จำเป็นต้องใช้ 64-bit ในฐานะที่เป็นความก้าวหน้าทางเทคโนโลยีผู้ผลิตชิปได้ทำการลงทะเบียน CPU เพิ่มเติมโดยเฉพาะอย่างยิ่งสำหรับโปรเซสเซอร์ 64 บิตเพื่อปรับปรุงประสิทธิภาพของพวกเขา ในความเป็นจริงตามที่คุณเพิ่งเห็นมันอาจเลวร้ายลง

64-bit = Abrams Tank

32-bit = Toyota Prius

เราสามารถทำงานให้สำเร็จลุล่วงได้มากขึ้น แต่งานชิ้นอื่น ๆ สามารถผ่านไดรฟ์ของแมคโดนัลด์ได้


4
ฉันเกลียดที่จะทำไม้จิ้มฟัน แต่ทั้งคู่สามารถผ่านไดรฟ์ของแมคโดนัลด์ได้ เป็นเพียงสิ่งเดียวที่ทำได้โดยไม่ทำให้กำแพงพัง
HopelessN00b

3
ฉันเกลียดที่จะทำไม้จิ้มฟัน แต่ฉันคิดว่ามันจะขึ้นอยู่กับคำจำกัดความของความพอดี! ถ้าเราไปด้วย "จะมีขนาดและรูปร่างที่เหมาะสม" ตามที่กำหนดโดยสเป็คไดรฟ์ถึงแมคโดนัลด์ฉันไม่ได้บอกว่า :)
GraemeMiller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.