แอปพลิเคชัน My Rails มีงานหลายอย่างที่ถูกถ่ายโอนไปยังกระบวนการเบื้องหลัง เช่น การปรับขนาดรูปภาพและการอัปโหลดไปยัง S3 ฉันใช้ delayed_job เพื่อจัดการกระบวนการเหล่านี้
กระบวนการเหล่านี้ โดยเฉพาะการแสดงภาพขนาดย่อ PDF (โดยใช้ Ghostscript) และการปรับขนาดภาพ (โดยใช้ ImageMagick) ต้องใช้ CPU มากและมักจะใช้เวลา CPU 100% เนื่องจากงานเหล่านี้ทำงานบนเซิร์ฟเวอร์ (RedHat Linux) เดียวกันกับเว็บแอปพลิเคชัน รวมถึง DB จึงอาจทำให้เว็บแอปพลิเคชันของเราไม่ตอบสนองได้
วิธีแก้ไขประการหนึ่งคือการหาเซิร์ฟเวอร์อื่นมาใช้งานเฉพาะงานเบื้องหลังเท่านั้น ฉันเดาว่านี่จะเป็นทางออกที่ดีที่สุดใช่ไหม อย่างไรก็ตาม เนื่องจากนี่ไม่ใช่สิ่งที่ฉันสามารถทำได้ทันที ฉันจึงสงสัยว่าจะเป็นไปได้หรือไม่ที่จะทำให้งานเบื้องหลังทำงานโดยใช้ลำดับความสำคัญของระบบปฏิบัติการที่ต่ำกว่า และด้วยเหตุนี้จึงใช้รอบ CPU น้อยลงในการทำงาน
ความคิดชื่นชม