काइनो एक उच्च‑प्रदर्शन Ractor वेब सर्वर है, Ruby 4.0+ के लिए। Ruby थ्रेड्स कोड को समानांतर में नहीं चला सकते, इसलिए उत्पादन सेटअप प्रत्येक कोर के लिए एक प्रक्रिया फोर्क करते हैं और मेमोरी में प्रत्येक कॉपी के लिए भुगतान करते हैं। काइनो आपके कोड को एक छोटे प्रोसेस में हर कोर पर चलाता है। एक Rust (tokio + hyper) फ्रंट‑एंड नेटवर्क का मालिक है; समानांतर Ractor वर्कर्स आपकी Rack 3 ऐप चलाते हैं, और एक थ्रेडेड फॉलबैक मोड Rails सहित सब कुछ चलाता है। तेज़। एक वास्तविक 8‑कोर सर्वर पर, हर काइनो मोड I/O‑लाइट एंडपॉइंट्स पर Puma फोर्क क्लस्टर से 1.5‑2× आगे है। रैकर मोड भी शुद्ध CPU पर 30%+ जीतता है। नीचे बेंचमार्क्स। मेमोरी का एक अंश। सरल बेंच Ractor ऐप पर लगभग 7×, और फॉलबैक थ्रेडेड मोड में Rails सर्व करने वाले Puma क्लस्टर से लगभग 4× कम मेमरी। फोर्क के बिना समानांतर।
रैकर मोड उसी छोटे प्रोसेस में CPU कार्य को काइनो के अपने GVL‑बाउंड थ्रेडेड मोड से 5× से अधिक तेज़ चलाता है। उत्पादन पाइपलाइन शामिल है: ग्रेसफुल ड्रेन, क्रैश सुपरविजन और रीस्पन, 503 बैकप्रेशर के साथ सीमित क्यू, रिक्वेस्ट टाइमआउट, हार्डेनड इनटेक (स्लोलॉरिस और TLS‑हैंडशेक डेडलाइन, कनेक्शन और बॉडी‑साइज़ कैप्स), आपके एरर ट्रैकर के लिए on_error हुक, TLS (rustls), लाइव स्टैट्स, असिंक्रोनस एक्सेस और ऐप लॉगिंग। यह आपको बताता है क्यों।
काइनो का CLI और कॉन्फ़िग DSL Puma‑शेप्ड हैं; यदि आप Puma चला सकते हैं, तो काइनो चला सकते हैं।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित