ขณะนี้เรากำลังอยู่ในขั้นตอนการอัพเกรดเซิร์ฟเวอร์ผลิต 32 บิตของเราไปเป็นเซิร์ฟเวอร์ 64 บิตที่มีประสิทธิภาพมากขึ้นในขณะที่อัพเกรดเป็น ASP.NET 4 อย่างไรก็ตามเมื่อทำการทดสอบบางครั้งเราดูเหมือนว่าประสิทธิภาพจะลดลง!
ฉันได้สร้างการทดสอบโหลดอย่างง่ายโดยมีผู้ใช้ 20 คนทำการทดสอบการใช้งานง่าย ๆ และเปรียบเทียบผลลัพธ์:
อย่างที่คุณเห็นการกำหนดค่าที่มีประสิทธิภาพสูงสุดคือเซิร์ฟเวอร์ 32 บิตที่มีอยู่ด้วย ASP.NET 2.0
คุณสามารถเห็นได้ว่าการเรียกใช้ IIS ในโหมด 32 บิตบนเครื่อง 64 บิตนั้นเทียบได้กับเซิร์ฟเวอร์ 32 บิตที่มีอยู่แล้ว แต่เมื่อใช้ IIS ในโหมด 64 บิตบนเซิร์ฟเวอร์ 64 บิตประสิทธิภาพจะแย่ลงอย่างมาก ฉันไม่แน่ใจว่าทำไมถึงเป็นเช่นนี้เพราะเซิร์ฟเวอร์ใหม่ดีกว่า
ด้วยเหตุผลบางอย่างทุกครั้งที่ฉันรันการทดสอบกับ IIS ใน 64 บิตมีจุดเริ่มต้นที่ใหญ่มากจากนั้นจะหายไป แต่ก็ยังมีเวลาตอบสนองที่สูงกว่า 32 บิต สไปค์หายไปเมื่อฉันเรียกใช้ IIS ในโหมด 32 บิต
โปรดทราบว่าแอพพลิเคชั่น / แอพไม่ได้ถูกรีสตาร์ทระหว่างการทดสอบ แต่สไปค์จะอยู่ที่นั่นอย่างสม่ำเสมอและการตอบสนองจะสูงกว่าการกำหนดค่าอื่น ๆ
ดังนั้น - คำถามของฉันคือ: ไม่มีใครมีความคิดใด ๆ ว่าทำไมถึงเป็นเช่นนี้? มีการตั้งค่าคอนฟิกใด ๆ ที่ฉันต้องการตั้งค่าหรือไม่? ไม่มีใครมีตัวชี้บางอย่างเกี่ยวกับวิธีที่ฉันสามารถ จำกัด สิ่งที่ทำให้เกิดความแตกต่าง?
เซิร์ฟเวอร์ที่ใช้งานอยู่ปัจจุบัน: Win Server 2003 - 32 บิต - IIS6
เซิร์ฟเวอร์ใหม่: Win Server 2003 R2 - 64 บิต - IIS6