Score:0

บริการ Systemd สำหรับ Sinatra + Thin เริ่มต้นใหม่อย่างต่อเนื่อง

ธง cn

ฉันมีบริการ systemd สำหรับแอป Sinatra ที่ทำงานด้วยเซิร์ฟเวอร์ Thin ที่อยู่เบื้องหลัง Nginx reverse proxy ใช้งานได้ดี แต่เนื่องจากได้รับทราฟฟิกจำนวนมาก ฉันเห็นข้อผิดพลาด nginx จำนวนมากเกี่ยวกับการไม่สามารถเชื่อมต่อกับอัพสตรีมได้ เมื่อตรวจสอบบริการ ฉันสังเกตเห็นว่ามันไม่เคยทำงานนานนัก ดีที่สุดเพียงไม่กี่นาทีซึ่งจะอธิบายได้ว่าทำไม Nginx จึงไม่สามารถเชื่อมต่อได้หลายครั้ง (ในขณะที่บริการกำลังรีบูต)

ดูจากผลลัพธ์ของ วารสาร ctl สำหรับบริการฉันเห็นสิ่งนี้มากมาย:

20 ธันวาคม 22:09:48 cs2092 systemd[1]: เริ่มเว็บไซต์แอปของฉัน
20 ธันวาคม 22:10:59 cs2092 Bundle[11576]: วิธีการเสมือนบริสุทธิ์ที่เรียกว่า
20 ธันวาคม 22:10:59 cs2092 Bundle[11576]: ยุติการเรียกโดยไม่มีข้อยกเว้นที่ใช้งานอยู่
20 ธันวาคม 22:10:59 cs2092 systemd[1]: my-service.service: ออกจากกระบวนการหลักแล้ว, รหัส = ฆ่า, สถานะ = 6 / ABRT
20 ธันวาคม 22:10:59 cs2092 systemd[1]: my-service.service: ล้มเหลวด้วยผลลัพธ์ 'สัญญาณ'
20 ธ.ค. 22:10:59 น. cs2092 systemd[1]: my-service.service: หมดเวลาหยุดให้บริการแล้ว กำลังตั้งเวลารีสตาร์ท
20 ธันวาคม 22:10:59 cs2092 systemd[1]: my-service.service: งานรีสตาร์ทตามกำหนดเวลา ตัวนับการรีสตาร์ทอยู่ที่ 7
20 ธันวาคม 22:10:59 cs2092 systemd[1]: หยุดเว็บไซต์แอปของฉัน
20 ธันวาคม 22:10:59 cs2092 systemd[1]: เริ่มเว็บไซต์แอปของฉัน
20 ธันวาคม 22:11:19 cs2092 Bundle[11828]: เรียกว่าวิธีการเสมือนบริสุทธิ์
20 ธันวาคม 22:11:19 cs2092 Bundle[11828]: ยุติการเรียกโดยไม่มีข้อยกเว้นที่ใช้งานอยู่
20 ธันวาคม 22:11:19 cs2092 systemd[1]: my-service.service: ออกจากกระบวนการหลักแล้ว, รหัส = ฆ่า, สถานะ = 6 / ABRT
20 ธันวาคม 22:11:19 cs2092 systemd[1]: my-service.service: ล้มเหลวด้วยผลลัพธ์ 'สัญญาณ'
20 ธ.ค. 22:11:19 น. cs2092 systemd[1]: my-service.service: หมดเวลาการระงับบริการแล้ว กำลังตั้งเวลารีสตาร์ท
20 ธันวาคม 22:11:19 cs2092 systemd[1]: my-service.service: งานรีสตาร์ทตามกำหนดเวลา ตัวนับการรีสตาร์ทอยู่ที่ 8
20 ธันวาคม 22:11:19 cs2092 systemd[1]: หยุดเว็บไซต์แอปของฉัน
20 ธันวาคม 22:11:19 cs2092 systemd[1]: เริ่มเว็บไซต์แอปของฉัน
20 ธันวาคม 22:14:28 cs2092 Bundle[11968]: วิธีการเสมือนบริสุทธิ์ที่เรียกว่า
20 ธันวาคม 22:14:28 cs2092 Bundle[11968]: ยุติการเรียกโดยไม่มีข้อยกเว้นที่ใช้งานอยู่
20 ธันวาคม 22:14:28 cs2092 systemd[1]: my-service.service: ออกจากกระบวนการหลักแล้ว, รหัส = ฆ่า, สถานะ = 6 / ABRT
20 ธันวาคม 22:14:28 cs2092 systemd[1]: my-service.service: ล้มเหลวด้วยผลลัพธ์ 'สัญญาณ'
20 ธ.ค. 22:14:28 น. cs2092 systemd[1]: my-service.service: หมดเวลาการระงับบริการแล้ว กำลังตั้งเวลารีสตาร์ท
20 ธันวาคม 22:14:28 cs2092 systemd[1]: my-service.service: งานรีสตาร์ทตามกำหนดเวลา ตัวนับการรีสตาร์ทอยู่ที่ 9
20 ธันวาคม 22:14:28 cs2092 systemd[1]: หยุดเว็บไซต์แอปของฉัน
20 ธันวาคม 22:14:28 cs2092 systemd[1]: เริ่มเว็บไซต์แอปของฉัน

ดูเหมือนว่าแอพจะถูกฆ่าเป็นประจำ? ทำไมสิ่งนี้ถึงเกิดขึ้น?

นี่คือบริการ:

[หน่วย]
คำอธิบาย=เว็บไซต์แอปของฉัน
เอกสารประกอบ=https://myapp.com
หลังจาก = network.target

[บริการ]
ประเภท = ง่าย
WorkingDirectory=/var/www/my-app
สิ่งแวดล้อม = "RACK_ENV = การผลิต"
ExecStart=/usr/local/bin/bundle exec /usr/local/bin/thin -R /var/www/my-app/config.ru -p 6903 --max-conns 15360 --max-persistent-conns 2048 --threaded --debug เริ่มต้น
ExecStop=/usr/local/bin/bundle exec /usr/local/bin/thin -R /var/www/my-app/config.ru -p 6903 หยุด
ExecReload=/usr/local/bin/bundle exec /usr/local/bin/thin -R /var/www/my-app/config.ru -p 6903 --max-conns 15360 --max-persistent-conns 2048 --threaded --debug เริ่มต้นใหม่
รีสตาร์ท = เมื่อล้มเหลว
ผู้ใช้=จูเลียน

[ติดตั้ง]
WantedBy=multi-user.target

อีกอย่างที่ฉันไม่เข้าใจ อย่างที่คุณเห็นจากบริการที่ฉันเริ่มต้นกับ Sinatra --max-conns 15360 และยังอยู่ใน วารสาร ctl เอาต์พุต ฉันเห็นการเชื่อมต่อสูงสุดถูกตั้งค่าเป็น 1024:

21 ธันวาคม 10:24:24 น. cs2092 Bundle[21058]: กำลังเริ่มแอปของฉันในการผลิต...
21 ธันวาคม 10:24:24 กลุ่ม cs2092[21058]: 2021-12-21 10:22:30 +0000 เว็บเซิร์ฟเวอร์บาง (ชื่อรหัส v1.8.1 Infinite Smoothie)
21 ธ.ค. 10:24:24 น. cs2092 Bundle[21058]: 2021-12-21 10:22:30 +0000 เปิดการดีบัก
21 ธันวาคม 10:24:24 กลุ่ม cs2092[21058]: 2021-12-21 10:22:30 +0000 การเชื่อมต่อสูงสุดตั้งค่าเป็น 1024
21 ธันวาคม 10:24:24 กลุ่ม cs2092[21058]: 2021-12-21 10:22:30 +0000 กำลังฟัง 0.0.0.0:6903, CTRL+C เพื่อหยุด

มีความคิดว่าเกิดอะไรขึ้น?

หมายเหตุ: อูบุนตู 18.04.4

jp flag
ตอบ crosspost ที่ https://unix.stackexchange.com/a/683327/1027
Score:0
ธง cn

ดูเหมือนว่าปัญหาจะอยู่ภายในเซิร์ฟเวอร์ Thin เมื่อฉันแทนที่ด้วย Puma ปัญหาทั้งหมดก็หายไป

โพสต์คำตอบ

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