Công bố minh bạch trên ERPNextCalc (Tối ưu Frappe Socket.IO Node.js Realtime | ERPNextCalc): một số liên kết nhà cung cấp là liên kết đối tác và có thể mang lại hoa hồng. Xem chi tiết công bố ERPNextCalc.
ERPNextCalc dự phòng 256 MB RAM riêng cho tiến trình Node.js Socket.IO cổng 9000 nhằm duy trì kết nối thời gian thực trên giao diện Frappe v15.
Trong quá trình rà soát hệ thống nhiều chi nhánh, lỗi thiếu header WebSocket trên Nginx hoặc giới hạn file descriptor thấp khiến thanh tiến trình Data Import đứng yên dù nền vẫn đang chạy.
Định mức bộ nhớ V8 và File Descriptor theo ERPNextCalc
Mỗi tab trình duyệt giữ một kết nối WebSocket tới cổng 9000 và đọc kênh pub/sub qua Redis 13000. Mức 200 tab đồng thời chỉ dùng dưới 256 MB RAM nhưng cần fs.file-max tối thiểu 65.535.
Chúng tôi khuyến nghị đặt NODE_OPTIONS="--max-old-space-size=384" trong Supervisor để kiểm soát trần bộ nhớ Node.
Kiểm tra header WebSocket Nginx trên ERPNextCalc
Nginx cần chuyển tiếp đầy đủ Upgrade, Connection "upgrade" và X-Frappe-Site-Name vào 127.0.0.1:9000 để xác thực đúng phiên đăng nhập của từng site.
Hãy kiểm tra đường dẫn /socket.io/ trả về mã 101 Switching Protocols sau mỗi lần cấu hình SSL mới.