Vấn đề performance của nodejs khi truy vấn với csdl trong vòng for



  • Cho mình hỏi nên gọi nhiều ajax call cùng một lúc lên server nodejs bằng 1 for loop hay chỉ nên gọi 1 request lên và sau đó nodejs xử lý trả về mảng kết quả ạ? Trong trường hợp này thì trên server cũng có 1 for loop và mỗi lần lặp đều có truy vấn với mongoDB



  • @Thien-Anh Gọi 1 hay nhiều không quan trọng lắm. Điểm quan trọng là lấy đúng dữ liệu mình cần ở client là ok, không gọi dư thừa hay bị trùng lắp là Ok. Phía NodeJS server thì cách tiếp cận tốt là vẫn bất đồng bộ. Khi có quá nhiều request thì mình sẽ scale hệ thống.

    Việc truy vấn database để tối ưu bạn cần lưu ý:

    • Chỉ lấy những column nào mình cần
    • Sử dụng connection pool để tối ưu số lượng connection
    • Dùng transaction khi thực hiện nhiều query cho cùng 1 task.


  • Chỉ nên gọi 1 request



  • Mình không bạn đang làm và mục đích là gì, nhưng chắc có thể áp dụng Promise.all để làm code clean và chính xác hơn


Log in to reply