iT邦幫忙

1

合理限速 API 請求次數

  • 分享至 

  • xImage

想詢問版上大大,該如何為 API 制定一個合理的請求次數限制,例如每五分鐘同一IP只能請求5次,想詢問這個每幾分鐘跟請求幾次有甚麼根據或觀念可以來設計

石頭 iT邦高手 1 級 ‧ 2022-06-16 19:23:15 檢舉
Keyword "ratelimit" 有許多實現方式 可以依照你現有架構找尋一個合適的方案
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

2
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2022-06-16 16:21:22
最佳解答

這一般比較沒什麼標準答案。主要還是看性質及合理性。

大多數來說,報表類的。也就是可能是一次性取資料的。
限制1分取1次。
但有時會讓客戶覺得不太方便。所以大多數都是用頁碼的方式給客戶取得。
然後限制1~3秒內只能跑一次。

而一般類來說,用大部設定為1分30~50次。
如資料量其實不大或是不容易造成流量或負載的情況下。限制可以1分200次。最高不要超過500。

我早期需要頻繁請求的,是限定1分150次。
報表類的則是1分5次。
單一資料但非報表類的資料。則是1分30次

以上可以給你參考。

以上要注意的是,你需要依需求及攻擊性來追求其合理性。
大多數的設定最好不要依秒為單位。最小單位還是依分為主。
然後去計算其合理性。盡量依主機能負載且不造成客戶的麻煩為主。

PS:最好還是要限定一下。我曾經有客戶因為寫錯程式碼,而當時機器還未設定好限制。
造成無限回圈請求,導致我的機器負符不了。只能先阻止客戶的IP進來。

(映像是每秒約300次請求,因為是PHP的WHILE)

感謝大大的回覆!! 很有參考價值!!

0
咖咖拉
iT邦好手 1 級 ‧ 2022-06-16 15:32:12

自刪 看錯

您好,感謝回復,該使用什麼工具的部分是 OK 的,也都有實作成功,但比較納悶的是,該限制怎麼樣的頻率才是 "合理的"

咖咖拉 iT邦好手 1 級 ‧ 2022-06-16 15:43:05 檢舉

依項目的功能來設定
需要不斷更新的或久久才讀取一次

基本上是保護伺服器不要被攻擊又讓使用者覺得不難用(可以用
就是合理

看錯你要問的這觀念還是請其他大大提供XD

我要發表回答

立即登入回答