MCP server tự host trên VPS: cấu hình và độ trễ thực tế

Chia sẻ bài viết

Mục lục
MCP server tự host trên VPS: cấu hình và độ trễ thực tế

Trả lời nhanh: Bản thân MCP server rất nhẹ, phần nặng nằm ở việc nó truy cập cái gì. Server chỉ đọc file cục bộ thì gần như không tốn tài nguyên. Server truy vấn database hoặc quét thư mục lớn thì độ trễ phụ thuộc tốc độ ổ đĩa và độ trễ mạng tới nguồn dữ liệu. Nguyên tắc quan trọng nhất: đặt MCP server cùng chỗ với dữ liệu nó phục vụ, vì mỗi lần đi qua mạng cộng thêm độ trễ vào từng lượt gọi.

Agent hỏi một câu, MCP server phải trả lời. Nếu mỗi lần trả lời mất nửa giây, mà một tác vụ gọi hai chục lần, bạn mất mười giây chỉ để chờ tra cứu.

Tóm tắt nhanh
  • MCP server tự nó rất nhẹ, phần nặng nằm ở nguồn dữ liệu nó truy cập.
  • Đặt server cùng chỗ với dữ liệu là cách giảm độ trễ hiệu quả nhất.
  • Server đọc file cục bộ thì tốc độ ổ đĩa quyết định.
  • Server truy vấn database thì đánh chỉ mục quan trọng hơn cấu hình máy.

Độ trễ đến từ đâu

Mỗi lượt gọi MCP đi qua bốn chặng:

  1. Agent gửi yêu cầu tới MCP server.
  2. Server xử lý: đọc file, truy vấn database, gọi dịch vụ ngoài.
  3. Server trả kết quả.
  4. Agent đọc kết quả rồi tiếp tục.

Chặng hai chiếm phần lớn thời gian. Nếu server đọc file, đó là công việc của ổ đĩa. Nếu truy vấn database, đó là chuyện chỉ mục và bộ nhớ đệm. Nếu gọi dịch vụ ngoài, đó là độ trễ mạng mà bạn ít kiểm soát được.

Cấu hình cần bao nhiêu

Loại MCP serverNgốn gìCấu hình gợi ý
Đọc file, tra cứu mã nguồnỔ đĩaNhẹ, nhưng cần ổ NVMe
Truy vấn databaseỔ đĩa và RAM của databaseTheo cấu hình database
Gọi API bên ngoàiMạngRất nhẹ
Xử lý dữ liệu, tính toánCPUƯu tiên xung nhịp

Điểm đáng chú ý: bảng này cho thấy hầu như không có trường hợp nào cần máy cấu hình cao chỉ để chạy MCP server. Tiền nên dồn vào chỗ dữ liệu nằm.

Nguyên tắc đặt gần dữ liệu

Giả sử database đặt tại Việt Nam mà MCP server đặt ở nước ngoài. Mỗi lượt gọi cộng thêm khoảng một trăm mili giây cho vòng đi về. Một tác vụ gọi hai mươi lần là thêm hai giây chờ, chưa tính thời gian xử lý.

Đặt cả hai trên cùng một máy chủ thì độ trễ mạng gần như bằng không, chỉ còn thời gian đọc ổ. Đây là lý do việc gom agent, MCP server và database lên cùng một VPS thường cho trải nghiệm mượt hơn nhiều so với rải ra nhiều nơi.

Đo độ trễ thật, tách từng chặng

# 1. Do tre mang tu may ban den may chu
ping -c 20 may-chu-cua-ban
mtr -rwc 30 may-chu-cua-ban

# 2. Do tre cua chinh dich vu (khong tinh mang)
curl -o /dev/null -s -w "ket noi %{time_connect}s | byte dau %{time_starttransfer}s | tong %{time_total}s\n" \
  http://127.0.0.1:PORT/health

# 3. Do tu ben ngoai vao, gom ca mang
curl -o /dev/null -s -w "tong %{time_total}s\n" https://mcp.tenmien.vn/health

# 4. Neu cham: nghen o dau
top -bn1 | head -5; iostat -x 2 5
ChặngThời gian thường thấyNếu cao hơn thì do đâu
Máy bạn tới máy chủ trong nướcdưới 20 msMáy chủ thật ra đặt ở nước ngoài
Máy bạn tới máy chủ nước ngoài150 tới 250 msBình thường, đây là khoảng cách vật lý
Xử lý bên trong dịch vụvài ms tới vài chục msTruy vấn chậm, hoặc thiếu chỉ mục
Đọc ghi dữ liệutùy ổ đĩaỔ chậm là nguyên nhân hay gặp nhất

Cách đọc: nếu chặng một chiếm phần lớn thời gian thì vấn đề là vị trí máy chủ, và mọi tinh chỉnh phần mềm đều vô ích. Nếu chặng ba hoặc bốn chiếm phần lớn thì mới đáng tối ưu mã và cơ sở dữ liệu.

Đặt dịch vụ cạnh cơ sở dữ liệu

  • Dịch vụ đọc cơ sở dữ liệu của bạn thì đặt cùng máy hoặc cùng khu vực với cơ sở dữ liệu đó. Mỗi lượt gọi thường kéo theo nhiều truy vấn, nên độ trễ nhân lên.
  • Dịch vụ gọi ra dịch vụ bên ngoài thì đặt ở đâu cũng gần như nhau, vì phần chờ nằm ở phía kia.
  • Người dùng ở Việt Nam thì máy chủ đặt trong nước tiết kiệm 150 tới 250 ms mỗi lượt, và với công cụ gọi nhiều lượt liên tiếp thì khác biệt này rất rõ.

Bảng bộ nhớ theo số dịch vụ chạy cùng lúc

Số dịch vụ chạy cùng lúcBộ nhớGhi chú
1 tới 3 dịch vụ nhẹ1 GBĐủ cho thử nghiệm và dùng cá nhân
4 tới 8 dịch vụ2 GBMức phổ biến nhất
Có dịch vụ đọc cơ sở dữ liệu lớn4 GB trở lênPhần bộ nhớ chủ yếu dành cho cơ sở dữ liệu

Số nhân hiếm khi là điểm nghẽn ở đây, vì phần lớn thời gian là chờ mạng và chờ ổ đĩa. Ưu tiên bộ nhớ và ổ NVMe trước.

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

MCP server cần VPS cấu hình bao nhiêu?

Bản thân nó rất nhẹ, thường vài trăm MB RAM là đủ. Cấu hình cần chọn theo nguồn dữ liệu nó phục vụ, ví dụ database cần RAM cho bộ nhớ đệm.

Vì sao gọi MCP chậm?

Thường vì server phải đọc nhiều file hoặc chạy truy vấn chưa tối ưu, hoặc vì nó nằm xa nguồn dữ liệu nên mỗi lượt gọi cộng thêm độ trễ mạng.

Có nên đặt MCP server chung máy với agent không?

Nên, nếu nó phục vụ dữ liệu nằm trên chính máy đó. Gom lại giúp bỏ hẳn phần độ trễ mạng giữa hai bên.

Chạy nhiều MCP server có nặng không?

Không nặng về CPU, nhưng mỗi server chiếm một phần RAM và mở kết nối riêng. Chạy nhiều thì cộng dồn, nên tính đủ RAM.

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 tại Việt Nam

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