終于找到了UI后臺和渠道后臺連接redis總是出問題的原因了

1. 自從點擊追蹤系統(tǒng)是用redis連接池后,幾乎沒有出過什么問題了——即使在點擊量增長到兩千萬每天的時候。

2. 然而奇怪的是,UI的后臺和渠道的后臺,最早就在用連接池,并且并發(fā)量很低,卻動不動就redis連接報錯,返回null對象。

之前實在是沒想過代碼是不是有問題。一直通過腳本重啟項目。

3. 然后就有人抱怨你們這個系統(tǒng)有問題,要把redis改了!

4. 我簡單和UI后臺那邊說了兩句,點擊追蹤系統(tǒng)如此大的量都從未報錯,UI使用頻率夠低了,為何頻繁報錯?你是不是有代碼沒有關(guān)閉連接池啊?

5. 人家檢查了下項目后指出來有一個地方當(dāng)時是沒有關(guān)閉的。修改完線上版本后,我感覺必須確認是否還有別的地方了。

6. 于是想起了 grep 遞歸目錄查找文件內(nèi)容了。于是有了下面的方式:

[root@mc-arch-nginx-172-17-0-3@/home/arch/n_backend-v1/n_mc_project@12:39:36]

2009 $ grep -r "MCRedisInstance.getInstance" * > closejedis.txt

[root@mc-arch-nginx-172-17-0-3@/home/arch/n_backend-v1/n_mc_project@12:40:25]

2010 $ vi closejedis.txt

[root@mc-arch-nginx-172-17-0-3@/home/arch/n_backend-v1/n_mc_project@12:40:34]

2011 $ grep -r "jedis.close()" * > closejedis_close.txt

[root@mc-arch-nginx-172-17-0-3@/home/arch/n_backend-v1/n_mc_project@12:40:56]

2012 $ vimdiff closejedis.txt closejedis_close.txt

7. 同樣,在/home/arch/mc_project_v7執(zhí)行上述命令,

一目了然看到只有 closejedis.txt 里有下面的代碼,卻沒有關(guān)閉連接池。

8. 最后發(fā)現(xiàn)兩個項目里都是與報表相關(guān)的部分沒有關(guān)閉連接池。報表又是使用頻率最高的部分,難怪項目一直不穩(wěn)定了!


9. 趕緊使用最新版項目修改問題,趕緊上線吧!


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. curl -L url Note the use of-L, which causescurlto foll...
    五大RobertWu伍洋閱讀 230評論 0 0
  • Tcp/IP通信也是不安全的,在傳輸?shù)臅r候也可能出現(xiàn)漏洞 查看正在運行的進程 adb shell ps -A |g...
    遠遠飄著云閱讀 4,551評論 0 0
  • Nginx簡介 解決基于進程模型產(chǎn)生的C10K問題,請求時即使無狀態(tài)連接如web服務(wù)都無法達到并發(fā)響應(yīng)量級一萬的現(xiàn)...
    魏鎮(zhèn)坪閱讀 2,037評論 0 9
  • 此篇文章內(nèi)容是我很久以前在印象筆記中的一個知識總結(jié),大概122個Linux指令。如今,寫出來就當(dāng)再回顧一遍了。若有...
    StephenZhang01閱讀 1,083評論 0 5
  • feisky云計算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,904評論 0 5