Chạy nhiều MCP server cùng lúc: tài nguyên cần bao nhiêu

Chia sẻ bài viết

Mục lục
Chạy nhiều MCP server cùng lúc: tài nguyên cần bao nhiêu

Trả lời nhanh: Mỗi MCP server đơn giản chiếm khoảng 50 tới 200MB RAM khi rảnh, con số tăng lên khi nó giữ bộ nhớ đệm hoặc kết nối database. Năm tới mười server chạy chung trên một VPS 4GB là bình thường. Điều cần chú ý không phải RAM mà là quản lý: mỗi server một cổng riêng, một tệp cấu hình rõ ràng, và có cách khởi động lại tự động khi lỗi. Gom nhiều chức năng vào một server chỉ nên làm khi chúng dùng chung nguồn dữ liệu.

Bắt đầu với một MCP server thì đơn giản. Tới cái thứ năm là bắt đầu quên cái nào chạy ở cổng nào, cái nào chết lúc nào.

Tóm tắt nhanh
  • Mỗi server nhẹ, nhưng cộng dồn và cộng thêm phần bộ nhớ đệm thì đáng kể.
  • Vấn đề thật là quản lý chứ không phải tài nguyên: cổng, cấu hình, khởi động lại.
  • Dùng trình quản lý tiến trình để tự khởi động lại khi lỗi.
  • Chỉ gom chung khi các chức năng dùng chung nguồn dữ liệu.

Tính RAM cho nhiều server

Số serverRAM ước tínhVPS gợi ý
1 tới 3dưới 1GB4GB là dư
4 tới 81 tới 2GB4GB
trên 8, có server giữ bộ nhớ đệm2 tới 4GB8GB

Con số trên chưa tính database. Nếu một trong các server phục vụ database, hãy tính RAM cho database riêng vì đó mới là phần ăn bộ nhớ nhiều nhất.

Ba việc phải làm khi số server tăng

Đặt cổng có quy tắc

Ví dụ nhóm theo dải: 7101 cho tra cứu mã nguồn, 7102 cho database, 7103 cho dịch vụ ngoài. Ghi lại trong một file để không phải đoán.

Dùng trình quản lý tiến trình

Đừng chạy tay rồi để đó. Dùng systemd hoặc trình quản lý tiến trình để server tự bật lại khi lỗi và tự chạy sau khi máy khởi động lại.

Ghi log riêng cho từng server

Khi có sự cố, log gộp chung là ác mộng. Mỗi server một file log giúp khoanh vùng trong vài giây.

Gom lại hay tách ra

Nên gom khi các chức năng dùng chung nguồn dữ liệu, ví dụ nhiều thao tác trên cùng một database. Gom lại giúp dùng chung kết nối và bộ nhớ đệm, tiết kiệm cả RAM lẫn thời gian.

Nên tách khi các chức năng độc lập nhau và bạn muốn một cái lỗi không kéo cái khác chết theo. Tách cũng dễ khởi động lại riêng lẻ hơn.

Nguyên tắc đơn giản: tách theo nguồn dữ liệu, không tách theo chức năng.

Tính bộ nhớ theo loại dịch vụ

Loại dịch vụBộ nhớ mỗi cáiGhi chú
Đọc tệp, gọi API đơn giản50 tới 150 MBNhẹ, chạy chục cái cùng lúc vẫn ổn
Nối tới cơ sở dữ liệu150 tới 400 MBPhần lớn là bể kết nối và bộ nhớ đệm
Xử lý tài liệu, tìm kiếm ngữ nghĩa500 MB tới 2 GBNặng nhất, thường là thứ quyết định cấu hình máy
Chạy trình duyệt tự động1 tới 2 GB mỗi phiênRất nặng, nên tách ra máy riêng

Cách tính thực dụng: cộng bộ nhớ của tất cả dịch vụ, nhân 1,5 để có phần dư cho hệ điều hành và các đợt cao điểm, rồi làm tròn lên mức gói tiếp theo.

# Xem tung dich vu an bao nhieu bo nho that
ps -eo pid,rss,comm --sort=-rss | head -20
docker stats --no-stream

# Dat gioi han cho tung dich vu, tranh mot cai di hoang keo ca may xuong
# trong docker-compose.yml:
#   deploy:
#     resources:
#       limits:
#         memory: 512M

# Theo doi qua thoi gian de biet dinh that
vmstat 5 60

Ba việc phải làm khi số dịch vụ tăng

  • Đặt giới hạn bộ nhớ cho từng dịch vụ. Không đặt thì một dịch vụ rò rỉ bộ nhớ sẽ kéo cả máy chết, và bạn mất tất cả cùng lúc.
  • Đặt tự khởi động lại khi dịch vụ chết. Với hơn năm dịch vụ, việc theo dõi thủ công là không khả thi.
  • Gom nhật ký về một chỗ và đặt giới hạn kích thước. Nhật ký của mười dịch vụ làm đầy ổ đĩa nhanh hơn bạn nghĩ.

Dấu hiệu nên gom và dấu hiệu nên tách

  • Gom trên một máy khi: các dịch vụ nhẹ, cùng thuộc một dự án, và tổng bộ nhớ còn xa mức giới hạn. Rẻ hơn và dễ quản lý hơn.
  • Tách ra máy riêng khi: có dịch vụ nặng chạy trình duyệt tự động; hoặc có dịch vụ chạm tới dữ liệu nhạy cảm cần cách ly; hoặc một nhóm dịch vụ phục vụ khách hàng và không được chết vì việc thử nghiệm.
  • Nguyên tắc thực dụng: bắt đầu trên một máy, tách ra khi đo được điểm nghẽn thật, đừng tách sớm vì mỗi máy thêm là thêm việc vận hành.

Câu hỏi thường gặp

Một VPS 4GB chạy được bao nhiêu MCP server?

Thường 5 tới 10 server đơn giản chạy thoải mái. Con số giảm nếu có server giữ bộ nhớ đệm lớn hoặc kèm database trên cùng máy.

Làm sao biết server nào đang ngốn RAM?

Chạy lệnh top rồi sắp xếp theo bộ nhớ, hoặc dùng ps để xem theo tên tiến trình. Đặt tên tiến trình rõ ràng ngay từ đầu giúp việc này dễ hơn nhiều.

Server chết giữa chừng thì sao?

Dùng trình quản lý tiến trình để tự khởi động lại. Không có nó thì bạn chỉ phát hiện khi agent báo lỗi không gọi được.

Nên đặt tất cả trên một VPS hay chia nhiều máy?

Một máy nếu chúng phục vụ cùng một dự án, vì gọn và không tốn độ trễ mạng. Chia máy khi cần cách ly giữa các khách hàng hoặc các môi trường.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Truy vấn SQL, PHP dựng trang, build Next.js hay đóng gói app iOS và Android: phần lớn các bước này chạy đơn luồng và đập liên tục vào ổ đĩa. Nghẽn nằm ở tốc độ đọc ghi và xung nhịp CPU, không phải ở việc có thật nhiều nhân. Ổ Enterprise U.2 NVMe chuẩn máy chủ chạy RAID 10 cho IOPS đọc ghi ngẫu nhiên gấp 5 đến 7 lần ổ SATA SSD, khác hẳn NVMe M.2 phổ thông. Chạy trên chip Intel Xeon Platinum dòng xung cao, backup tự động hàng tuần, bàn giao trong 5 phút.
Xem VPS Enterprise U.2 NVMe RAID 10, CPU xung cao

Bài viết liên quan

Chưa cần VPS? Hosting cPanel của TND đã sẵn sàng cho AI

Mở sẵn SSH, Git, Node.js và cổng MCP của cPanel. Nối Claude Code, Codex hay Gemini vào là làm việc được, từ 59.000đ/tháng.

Xem web hosting sẵn sàng cho AI