← Quay lại danh sách

50.000 lần một tháng? Các cuộc gọi quá nhiều của ARI cuối cùng cũng đã được giải quyết.

itadol5j

Gần đây, một người bạn đến gặp tôi và nói rằng ông đã tìm thấy một vấn đề nghiêm trọng trong hậu trường của nhà phát triển sách: / open-apis/bot/v3/info, giao diện này được gọi là hàng trăm lần một phút, và 50.000 lần một tháng nó sẽ chạy ra!

Trình theo dõi cuộc gọi sách bay API

Sao anh biết?

Những người bạn trong hậu trường của nhà phát triển Sách Bay đã thấy một số cuộc gọi cao lạ thường cho giao diện này:

Chỉ thịGiá trị
Số cuộc gọi hàng ngày43200+ lần
♪ Hãy gọi từng phút ♪- 300 lần
Ước tính mức tiêu dùng hàng thángGần 50.000 lần.

Tôi là robot. Sao tôi có thể gọi thường xuyên như vậy?

Căn nguyên gây ra vấn đề

Tôi đã chạy mã mở rộng của OpenClaw và tìm thấy nó ở hai nơi:

1. Kiểm tra tình trạng gây ra cuộc gọi API

Hàm thăm dòFeisu () gọi giao diện botinfo cho sách bay mỗi lần bạn hỏi về trạng thái robot. Chức năng này được gọi là trong những trường hợp sau:

  • Lấy OpenID khi khởi chạy
  • Name
  • Khi Mạng bị ngắt kết nối

2. Thiếu bộ nhớ tạm

Mã gốc là "hỏi mọi cuộc gọi", và không có bộ nhớ tạm. Thậm chí nếu bạn yêu cầu một bang mười lần, bạn sẽ nhận được 10 cuộc gọi API.

Giải pháp: cơ chế bộ nhớ tạm 5 phút

Tôi đã thêm một bộ nhớ tạm đơn giản vào máy thăm dò:

// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();

Lý luận cốt lõi rất đơn giản:

  • Đầu tiên ♪ Yêu cầu sách bay ARI ♪
  • 5 phút nữa gọi lại. ▪ Bộ nhớ tạm trực tiếp (không khởi động yêu cầu mới)
  • Thất bại cũng bị tắc nghẽn. ▪ Tránh yêu cầu lặp đi lặp lại khi thất bại

Hiệu ứng đã sửa

Độ tương phảnTrước khi sửa đổiđã sửa
Mọi truy vấn trạng tháiGọi ARIBộ nhớ tạm trực tiếp
Lỗi thử lạiThử lại vô hạnBộ nhớ tạm 5 phút
Ước tính mức tiêu dùng hàng tháng50 000+ nhân- 300 lần

Đơn giản thôi.1 cuộc gọi tối đa trong 5 phút 24 giờ mỗi ngày = 288 lần/tháng, khoảng 3.500 lần một năm. Giới hạn 50 ngàn/tháng ban đầu, nó sẽ không hết đâu!

Áp dụng cảnh

Chương trình này đặc biệt thích hợp cho:

  • Người dùng mở rộng bằng OpenClaw
  • Phát triển robot sách bay của riêng bạn và gọi giao diện botinfo thường xuyên
  • Quy mô ARI là khẩn cấp và muốn tối ưu hóa số cuộc gọi

Tóm tắt

Vấn đề về định vị cuốn sách bay là do thiếu bộ nhớ tạm. Giải pháp đơn giản: gọi giao diện với bộ nhớ tạm.

Đôi khi tối ưu hóa đơn giản nhất là hiệu quả nhất.