Special thank: Raymond Liu
Infra team のあにき
抄呀,抄官方範例呀
可以動了,Unit test 過!
沒有流量的 test 環境過!
只有一點點流量的 stag 環境過!
上線! GO Prodution Go !
Node Exporter Prometheus metrics: node_sockstat_TCP_mem
Let's see what happen.
For k8s work nodes 不只CPU Mem要觀察, 網路連線狀態也必須注意
# Current usage:
cat /proc/net/sockstat
sockets: used 23752
TCP: inuse 51 orphan 0 tw 263 alloc 21481 mem 771586
UDP: inuse 4 mem 42
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
cat /proc/sys/net/ipv4/tcp_mem
# min pressure max
374535 499381 749070
可發現 771586 已經超過 749070
這是屬於 Common library 的功能,幾乎每個 service 都會用,所以幾乎每個 Node 的 TCP Memory 都吃滿了。
之前在用 pprof 的時候看過這篇…
第一眼就是
不可能,Go 沒有解構子,AWS SDK 不知道我什麼時候會讀取 http.resp.body,當然沒辦法幫我 close。
開始寫 Testing too…當然是直接問 Google 比較快呀
原來 Developer guide 有寫
always be sure to Close the field
這麼重要為什麼不寫在 API document 的 example 上 QAQ
Rance Jen
現為 TrendMicro 孤兒院保母
最近正在努力尋求 Have my own son 的機會
會生又會養的好保母,有人喜歡嗎?