วิธีปรับปรุง Windows Server 2008 R2 ให้รองรับการเชื่อมต่อมากมาย?


9

ไม่กี่วันมานี้ที่ฉันพยายามคิดวิธีแก้ปัญหานี้ ก่อนอื่นฉันใช้เว็บไซต์ที่มีการดูหน้าเว็บเฉลี่ย 350,000 ครั้งต่อวัน ก่อนหน้านี้การจัดการโฆษณาทั้งหมด (การติดตามการคลิกและการแสดงผลที่โฆษณาแต่ละรายการแสดง) และเนื้อหาที่แสดงในเซิร์ฟเวอร์เดียวที่มีข้อกำหนดต่อไปนี้:

เซิร์ฟเวอร์ 1
ระบบปฏิบัติการ: Windows 2008 R2 64-Bit
CPU: Intel® Core ™ i5 - 4 คอร์
RAM: 8 GB
พื้นที่เก็บข้อมูล: ฮาร์ดไดรฟ์ 2 x 1 TB
แบนด์วิดท์: 10 TB ต่อเดือน

เพื่อปรับปรุงความเร็วเว็บไซต์ของเราฉันตัดสินใจที่จะแยกสคริปต์การจัดการโฆษณาไปยังเซิร์ฟเวอร์เฉพาะอื่นเนื่องจากเรามีผู้โฆษณามากกว่า 15 รายเป็นผู้โฆษณา 30 รายต่อแต่ละหน้า

เซิร์ฟเวอร์ 2
ระบบปฏิบัติการ: Windows 2008 R2 64-Bit
CPU: Intel® Core ™ i5 - 4 คอร์
RAM: 4 GB
พื้นที่เก็บข้อมูล: ฮาร์ดไดรฟ์ 2 x 300 GB
แบนด์วิดท์: 10 TB ต่อเดือน

ปัญหา
ปัญหาคือ Server 1สามารถจัดการทั้งเนื้อหาและระบบโฆษณา ตอนนี้ฉันนำระบบโฆษณาไปใช้Server 2แล้ว Server 2สามารถแสดงระบบโฆษณาได้อย่างเดียวเท่านั้น

ทดสอบ

  • ครั้งแรกของทั้งหมดที่ผมย้าย 75% Server 2ของโฆษณาที่จะ แล้วดำเนินการ ping ping -t xxxxxไปยังเซิร์ฟเวอร์: [ฉันใช้คำสั่ง ping นาน 10 นาทีและรูปแบบที่คล้ายกันดังต่อไปนี้]
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 290ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 289ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 320ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 286ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 286ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 348ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 284ms TTL = 116
  • จากนั้นผมย้าย 100% Server 2ของโฆษณาที่จะ จากนั้นดำเนินการ ping ไปยังเซิร์ฟเวอร์อีกครั้ง [ฉันใช้คำสั่ง ping นาน 10 นาทีและรูปแบบที่คล้ายกันดังต่อไปนี้]
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 290ms TTL = 116
คำขอหมดเวลา
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 320ms TTL = 116
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 286ms TTL = 116
คำขอหมดเวลา
คำขอหมดเวลา
ตอบกลับจาก xxxxx ไบต์ = 32 ครั้ง = 284ms TTL = 116

ความพยายามในการ

  1. เพิ่มขึ้นMaxUserPortและTcpNumConnection
  2. รีสตาร์ทเซิร์ฟเวอร์
  3. เพิ่ม IIS Max InstancesและInstance MaxRequests

ทรัพยากรเซิร์ฟเวอร์

  • ใช้การเชื่อมต่อเครือข่ายเพียง 10% -15%
  • ใช้ CPU เพียง 10% -15%
  • ใช้หน่วยความจำเพียง 25%

3
นี่เป็นคำถามที่มีรูปแบบที่ดีในความคิดของฉันและควรค่ากับการ upvotes แต่ฉันก็ยังรู้สึกเหมือนว่าเราไม่มีข้อมูลบางอย่างที่จะช่วยเราไขปริศนาได้
ไรอัน Ries

@ RyanRies โปรดให้ตัวชี้ข้อมูลที่หายไปที่จำเป็นในการแก้ปริศนานี้ ตอนนี้ฉันมี 75% ของโฆษณาในเซิร์ฟเวอร์ 2 และ 25% ของโฆษณาในเซิร์ฟเวอร์ 1 ตอนนี้ทำงานได้ค่อนข้างดี แต่ฉันไม่สามารถย้ายไปที่เซิร์ฟเวอร์ 2 ได้อย่างสมบูรณ์
Monkey D Luffy

1
ฉันเห็นด้วยกับ @RyanRies: เราพลาดอะไรบางอย่าง ฉันจะพิจารณาวิธีการสร้างระบบการแสดงโฆษณา: อาจเป็นไปได้ว่ามีการพึ่งพาระหว่างเนื้อหาและบริการโฆษณาที่ทำให้เกิดความล่าช้ามากเกินไป
Stephane

@ สเตฟานไม่ว่าควรและจะทำให้ปิงหายไป การปิงไม่ได้รับการจัดการโดยโค้ดการแสดงโฆษณา แต่โดยสแต็ก TCP โดยตรง ซึ่งโดยทั่วไปหมายความว่าพวกเขาควรจะทำงานเว้นแต่เซิร์ฟเวอร์จะโหลดมากเกินไป ดูเหมือนคำตอบของฉันอย่างจริงจัง - ดูเหมือนแบนด์วิดท์ไม่ได้อยู่ที่นั่น ก่อนที่เซิร์ฟเวอร์
TomTom

บางสิ่งที่ขาดหายไปคือ 1) คุณสามารถเปลี่ยนแปลง / ไม่เปลี่ยนแปลงในสภาพแวดล้อมของคุณ 2) เว็บเซิร์ฟเวอร์ตั้งค่าดิสก์อย่างไร? 3) เครือข่ายมีเวลาภายในที่คุณอยู่หรือเป็นเซิร์ฟเวอร์ระยะไกลหรือไม่ หากเป็นเซิร์ฟเวอร์ระยะไกลจะอยู่ไกลแค่ไหน 4) ถ้าคุณต้องการที่จะปรับปรุงเซิร์ฟเวอร์ของคุณคุณมีอิสระในงบประมาณที่จะเพิ่มฮาร์ดแวร์ในการผสมทั่วกระดาน 5) บันทึกเหตุการณ์มีข้อผิดพลาดหรือไม่? 6) ฉันไม่เห็นผลลัพธ์จากการจับ perfmon ที่ระดับความสูงของการจราจร 7) หมายเลขผู้เข้าชมที่ไม่ซ้ำของคุณคืออะไร? 8) คุณได้กรองปริมาณขยะหรือไม่
Techie Joe

คำตอบ:


4

เริ่มกันเลยดีกว่า อันนี้นานกว่า

คุณตัดสินความจริงโดยสิ้นเชิงกับข้อเท็จจริงที่นี่ Windows - แม้กระทั่ง 2008 R2 ที่ล้าสมัยซึ่งคุณควรอัปเดตโดยเร็ว - สามารถจัดการระดับเสียงโทรศัพท์มือถือของฉันได้อย่างไม่มีปัญหา

ดังนั้นจึงมีประเด็นที่เป็นไปได้ 3 ประเด็น:

  • การติดตั้ง. ไดรเวอร์ของคุณอาจเส็งเคร็ง ให้คุณใช้ระบบปฏิบัติการที่ล้าสมัย - ไดรเวอร์ของคุณดีแค่ไหน? อัปเดตพวกเขา - นี่อาจทำให้เกิดปัญหาทุกประเภท

  • เครือข่าย สิ่งนี้ดูเหมือนจริงจังว่า "รถของฉันช้าเกินไปโปรดช่วยฉันทำให้มันเร็วขึ้น" เมื่อคุณใช้เวลาส่วนใหญ่ในการจราจรติดขัดและร้องเรียนเกี่ยวกับการจราจรที่ไม่เคลื่อนไหว ไม่ใช่ปัญหาการปรับจูนรถ ปริมาณข้อมูลขนาด 10tb ไม่ได้เกี่ยวกับความแออัดของเครือข่าย ดูสถิติปริมาณการใช้เครือข่ายของคุณบน NIC ของคุณจากนั้นตอบสนองตามนั้น - หากไม่ได้รับความเร็วที่ควรจะเป็น .... ผู้ให้บริการของคุณมียอดขายเกินตัว เรียบง่ายเช่นนั้น

  • รหัส. เป็นไปได้ไหมที่คุณจะต้องใช้ RAM มากกว่านี้ (คอมพิวเตอร์ไม่ว่างทำการสลับเป็น RAM แทนการประมวลผล) หรือการเข้ารหัสแบบเสปปี้กำลังใช้ CPU ทั้งหมดของคุณในระดับที่ทำให้ระดับเคอร์เนล TCP สแต็คไม่ตอบสนองอย่างถูกต้อง นี่จะโหดร้าย - แต่มันเป็นอีกหนทางหนึ่งในการตรวจสอบ อาจเป็นไปได้ว่าคุณใช้ดิสก์มากเกินไปโดยการเข้าถึงบ่อยเกินไปแทนที่จะใช้แคชใน RAM แต่ฉันก็ไม่เห็นว่าจะนำไปสู่การ Ping ที่หายไป ปัญหาใด ๆ ที่นี่ไม่ใช่สิ่งที่ผู้ดูแลระบบสามารถจัดการได้ - คุณต้องโยนฮาร์ดแวร์ลงไปหรือเอาไม้ขีดแล้วกดโปรแกรมเมอร์ด้วยจนกว่าเขาจะแก้ไขได้ (ถ้าเป็นข้อผิดพลาดระดับ "โง่" ที่กินประสิทธิภาพ - ถ้ามันไม่เป็นเช่นนั้นมันเป็นเรื่องยากมากที่จะทำกำไรอย่างจริงจังและมันอาจเป็นเพียงฮาร์ดแวร์ที่คุณต้องการมากขึ้น)

แน่นอนว่ามันไม่จำเป็นต้องทำการปรับแต่ง windows - windows ที่มีการกำหนดค่าอย่างดีสามารถส่งมอบได้มากกว่านั้น เซิร์ฟเวอร์ไฟล์ของฉันเป็นระยะเวลานาน - ส่งมอบ 4-6 กิกะบิตจากการตั้งค่าสต็อกที่ค่อนข้างดี

ทีนี้ตัวเลขทั้งหมดที่คุณให้ไม่ได้พูดอะไรอย่างจริงจัง

  • ใช้ CPU 10-15% COULD หมายถึงการแลกเปลี่ยน
  • หน่วยความจำ 25% ที่ใช้น่าจะเป็นตัวบ่งชี้ที่ดีในขณะนี้การแลกเปลี่ยนเกิดขึ้น แต่ก็อาจหมายความว่า CPU กำลังรอ IO
  • ใช้เครือข่าย 10% -15% หมายถึง - ไม่มีอะไรเลยเพราะเป็นเพียงเครือข่ายของคุณ ต้นน้ำเกี่ยวกับอะไร จะเกิดอะไรขึ้นถ้าผู้ให้บริการวางเซิร์ฟเวอร์ 20 เครื่องด้วย 1 กิกะบิตบนอัปลิงค์ขนาด 1 กิกะบิตจากชั้นวางและนั่นล้นราวกับนรก?

จุดสุดท้ายน่าจะเป็น - แพ็คเก็ตที่ลดลงเป็นตัวบ่งชี้ที่ดี และสิ่งนี้จะไม่ปรากฏให้คุณเห็น

คำแนะนำของฉัน .... ปิดสิ่งใดบนเครื่องซักครู่ทำการทดสอบความเร็วจากภายนอกด้วยไฟล์สแตติกขนาดใหญ่ ฉันพนันว่าคุณจะพบกับความแออัดที่สูงขึ้น

ทุกสิ่งที่คุณทำมาแล้ว - maxuserport, tcpnumconnection, รีสตาร์ทเซิร์ฟเวอร์, เล่นไปกับการตั้งค่า IIS - ปิดโดยสิ้นเชิงและไม่ทำอะไรเลยในสถานที่ที่ดีที่สุด การทุบค้อนบนรถที่ช้าไม่เคยแก้ไขอะไรเลยโดยเฉพาะถ้ารถช้าเพราะมันอยู่ในรถติด ฉันจะยกเลิกการเปลี่ยนแปลงทั้งหมดและเริ่มวิเคราะห์ปัญหาไม่ใช่เฉพาะเซิร์ฟเวอร์ของคุณ ฉันจะเดิมพันกับความแออัดของเครือข่ายในขณะนี้


3
even the outdated 2008 R2 which you should update ASAP- C'mon, TomTom รับกำ 2008 R2 ยังคงอยู่ในการสนับสนุนที่สำคัญและการหยุดการสนับสนุนนานซึ่งในปี 2020 ฉันเชื่อว่า ...
Dan

4
"ล้าสมัย 2008 R2 ซึ่งคุณควรอัปเดตโดยเร็ว": นั่นไม่ถูกต้อง (2008R2 ไม่ใช่ "ล้าสมัย" และไม่ควรอัปเดต "เพียงเพราะ") และไม่มีเหตุผลในบริบทของคำตอบ ส่วนที่เหลือทำเพียงเล็กน้อยในการปรับปรุงคำตอบของคุณเนื่องจากไม่มีขั้นตอนที่มีประโยชน์สำหรับการระบุปัญหาแก้ไขได้น้อยกว่ามากเพียงแค่ให้คำแนะนำทั่วไป (และเพียงเล็กน้อยเท่านั้นในหัวข้อ) เกี่ยวกับประสิทธิภาพ
Stephane

ที่จริงแล้วเป็นเพราะเดาว่าสิ่งใดที่เปลี่ยนแปลงอย่างจริงจังในภายหลัง การขยายขีดความสามารถเป็นจุด ดังนั้นใช่ในบริบทที่กำหนดมันเป็น การอัปเดตควรเกิดขึ้นโดยเร็ว - เนื่องจากคาดเดาว่าคุณอาจไม่ทำให้ข้อมูลของคุณดีขึ้นเมื่อเวลาผ่านไป บริษัท ส่วนใหญ่ทำ 2012 R2 ดีกว่า 2008 R2
TomTom

ใช้ speedtest.net อัปลิงค์และดาวน์ลิงค์อยู่ที่ประมาณ 100mbps
Monkey D Luffy

มีซอฟต์แวร์อ้างอิงสองรายการสำหรับระบบโฆษณา: memcached และ MySQL มันติดตามการแสดงผลทั้งหมดและคลิกใน memcached และอัปเดตเป็น MySQL ทุกๆ 10 นาที
Monkey D Luffy

0

ping ภายนอกเซิร์ฟเวอร์สองเครื่องหรือไม่ ถ้าเป็นเช่นนั้นลอง ping จากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์สอง หากผลลัพธ์แตกต่างจากเมื่อทำการส่งเสียงจากภายนอกนั่นแสดงว่าปัญหาอาจไม่ได้เกิดจากเซิร์ฟเวอร์สอง นอกจากนี้ให้ดูในการตรวจสอบทรัพยากรสำหรับความยาวคิวดิสก์สำหรับไดรฟ์และเวลาที่ใช้งาน - ข้อมูลเพิ่มเติมบางอย่างซึ่งอาจเน้นปัญหา


ฉันได้ลองแล้ว ฉันใช้ Server 1 เพื่อ ping Server 2 และ ping ยังคงลดลงหากฉันใส่โฆษณาเพิ่ม
Monkey D Luffy

1
การเชื่อมต่อระหว่างเซิร์ฟเวอร์ 1 และเซิร์ฟเวอร์ 2 นั้นผ่านฮาร์ดแวร์ของคุณเองหรือ หรือมันเป็นสวิตช์ดาต้าเซ็นเตอร์ เพียงแค่พยายามตรวจสอบว่าเมื่อคุณส่ง Ping คุณกำลังจะผ่านฮาร์ดแวร์ DC ซึ่งอาจทำให้เกิดความแออัด คุณมีอะไรใน IIS / Windows ที่บล็อกคำขอแบบไดนามิกหรือไม่? ไม่มีการป้องกัน DOS ที่บล็อกคำขอที่ถูกกฎหมายหรือไม่ ระบบมันคือ ASP.NET และฐานข้อมูลคือ MySQL?
Ross Buggins
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.