ฉันมีความต้องการที่จะสร้าง REST API ใน node.js และกำลังมองหาเฟรมเวิร์กที่มีน้ำหนักเบามากกว่า express.js ซึ่งอาจหลีกเลี่ยงคุณสมบัติที่ไม่ต้องการและจะทำหน้าที่เหมือนเฟรมเวิร์กที่สร้างขึ้นเองสำหรับการสร้าง REST API ขอแนะนำให้ Restify จาก Intro สำหรับกรณีเดียวกัน
อ่านทำไมต้องใช้ restify และไม่แสดงออก? ดูเหมือนว่า restify เป็นทางเลือกที่ดี
แต่ความประหลาดใจเกิดขึ้นเมื่อฉันลองใช้ทั้งสองอย่างด้วยการโหลด
ฉันสร้าง REST API ตัวอย่างใน Restify และมีคำขอ 1,000 คำขอต่อวินาที ทำให้ฉันประหลาดใจที่เส้นทางเริ่มไม่ตอบสนองหลังจากนั้นสักครู่ แอพเดียวกันที่สร้างขึ้นบน express.js จัดการทั้งหมด
ฉันกำลังใช้การโหลดกับ API ผ่านทาง
var FnPush = setInterval(function() {           
    for(i=0;i<1000;i++) 
        SendMsg(makeMsg(i));                
}, 1000);
function SendMsg(msg) {
    var post_data = querystring.stringify(msg);
    var post_options = {
        host: target.host,
        port: target.port,
        path: target.path,
        agent: false,
        method: 'POST',
        headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'Content-Length': post_data.length,
                "connection": "close"
            }
    };
    var post_req = http.request(post_options, function(res) {});
    post_req.write(post_data);  
    post_req.on('error', function(e) {          
    }); 
    post_req.end();
}ผลลัพธ์ที่ได้ดูสมเหตุสมผลหรือไม่? และถ้าเป็นเช่นนั้นการแสดงออกจะมีประสิทธิภาพมากกว่าการปรับสภาพในสถานการณ์นี้ หรือมีข้อผิดพลาดในการทดสอบหรือไม่
ปรับปรุงตามความคิดเห็น
พฤติกรรมของการพักผ่อน
- เมื่อป้อนด้วยโหลดมากกว่า 1,000 req.s จะหยุดประมวลผลในเวลาเพียง 1 วินาทีรับจนถึง 1,015 req.s จากนั้นไม่ทำอะไรเลย กล่าวคือ. ตัวนับที่ฉันใช้สำหรับการนับคำขอที่เข้ามานั้นหยุดการเพิ่มขึ้นหลังจาก 1015 
- เมื่อเลี้ยงด้วยโหลด 100 reqs ต่อวินาทีได้รับจนถึง 1,015 และไม่ตอบสนองหลังจากนั้น 

