อัปโหลดช้า POST (การปรับเคอร์เนล Linux)


1

ฉันทำงานในแบ็กเอนด์ Caucho Resin ด้วย HAproxy ที่กำหนดค่าไว้ด้านหน้าพวกเขาในเซิร์ฟเวอร์เฉพาะ

ตอนนี้ฉันกำลังจัดการกับปัญหาการอัพโหลดไฟล์ เว็บแอปพลิเคชันของเราอนุญาตให้อัปโหลดไฟล์สำหรับภาพหากฉันกดไปยังเซิร์ฟเวอร์อัปโหลดหนึ่งในเรซินของฉันเร็วมาก (5 วินาที) โดยไม่มีปัญหาใด ๆ จากนั้นเมื่อฉันเข้าชมการอัพโหลดอิมเมจโหลดบาลานเซอร์ของฉันจะช้ามาก (50/60 วินาที)

ฉันได้ปรับ sysctl.conf ของ load balancer เพื่อให้ได้ memory มากขึ้นกับซ็อกเก็ต TCP

net.core.rmem_max = 134217728 
net.core.wmem_max = 134217728 
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
fs.file-max = 100000

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

เนื่องจากเซิร์ฟเวอร์ตัวที่สองนี้เป็นเซิร์ฟเวอร์สำรองที่ไม่มีทราฟฟิกฉันเข้าใจว่าการปรับ sysctl ของฉันนั้นไม่ดีพอสำหรับ load balancer การผลิตของฉัน ทุกอย่างทำงานได้ดี (การท่องเว็บปกติเป็นต้น)

ตัวโหลดบาลานซ์คือ Dell R415 พร้อม Intel 82576 GbE NIC ใช้งาน Haproxy 1.5.9

ฉันสามารถช่วยปรับ sysctl.conf ของฉันได้ไหม?

ขอบคุณ


1
ทำไมคุณคิดว่า sysctls เป็นปัญหา
Michael Hampton

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

คำตอบ:


1

50 วินาทีสำหรับการตอบสนองนั้นผิดปกติมาก ฉันขอแนะนำให้คุณลบการปรับแต่ง TCP sysctrl ทั้งหมดและคืนค่าการตั้งค่าทั้งหมดเป็นค่าเริ่มต้นสำหรับระบบปฏิบัติการของคุณ เมื่อคุณมีการกำหนดค่าพื้นฐานทำงานแล้วปรับหนึ่งพารามิเตอร์ในเวลาและมาตรฐาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.