iT邦幫忙

0

API接口緩存不足沒有自動release

  • 分享至 

  • xImage

目前工作上遇到API接口資源佔滿導致斷線,須重啟電腦才能繼續套用,小弟並不是專業的IT所以對coding沒有很了解,但我知道的資訊是應該會自動release的,目前因為接口斷線的問題設備遲遲無法驗受,請問有大大可以為小弟解解惑嗎~

froce iT邦大師 1 級 ‧ 2024-03-15 08:22:00 檢舉
無法驗收去盯賣你的廠商啊...
我們連你那是什麼系統,幹嘛用的都不知道,要怎麼幫你?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
DennisLu
iT邦研究生 1 級 ‧ 2024-03-15 13:54:38

目前工作上遇到API接口資源佔滿導致斷線

有點擲筊文的問法,只有這句話是線索,
就抱著猜猜樂的心情來回答吧。

猜測應該是 http api的形式,每個工作就打一次 http api,完成後結束這條。
你認為有release,應該是指照這作法 不應該滿線。

一條 http api 中斷後,TCP 狀態會是TIME_WAIT,再等一下才會真的消失。
也就是一個資源,建立連線到完成工作中斷進入TIME_WAIT到真正消失才可以再空出TCP連線扣打,
其這個過程也是有點時間需要消化。

常常會遇到一個問題,使用者跟寫CODE者,不太清楚的狀況,
導致 增加速度>消化速度=慢慢增加佔用量,直到上限,
這種狀況一開始沒感覺,常常都是過一陣子才出問題。
症狀就是無法產生TCP連入連出,下指令看到大量的TIME_WAIT。

審視大部分的API執行時,從起頭到TIME_WAIT消失要多久,
若你屬於時時都在頻率擊發api的,那擊發頻率間隔設定上,要留意增加速度不可大於消化速度。

另外查看作業系統是否還有可以調整減少TIME_WAIT的持續時間跟合理追加增加TCP可用上限空間,有就調整,使發生機率降低。

偶而路過看到寫code設計師跟使用設定人以及用戶需求,
不懂作業系統的網路TCP生命週期下,
寫出的專案執行上鬧過滿多笑話的(老牌軟體公司也一樣會犯這種錯)
如果沒有判斷出來問題,最後就是消極的設定定期重開機解決。

如果是只是記憶體資源占滿,就直接把資源異常狀態的用量回給你的廠商看吧...

我要發表回答

立即登入回答