欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

記客戶端請(qǐng)求超時(shí)分析過程-創(chuàng)新互聯(lián)

  1. 請(qǐng)求處理過程描述

    創(chuàng)新互聯(lián)公司是專業(yè)的阿城網(wǎng)站建設(shè)公司,阿城接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行阿城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

    服務(wù)端 使用 框架 加載 業(yè)務(wù)so,并未業(yè)務(wù)so創(chuàng)建協(xié)程處理,處理完成后給出 響應(yīng)。so入口函數(shù)接收(const Type&in, Type &out,Type &extend),是否給出響應(yīng)的前提是 out里面要有 業(yè)務(wù)so的處理結(jié)果,即 out 不能是空的。這樣處理的 原因是 有些客戶端 只關(guān)心 消息是否被服務(wù)端收到,不關(guān)心處理結(jié)果,這時(shí) 服務(wù)端在收到 請(qǐng)求后 直接發(fā)送響應(yīng)告訴 客戶端 收到消息了, 而服務(wù)端業(yè)務(wù)so處理 完消息后 置out為空,就不會(huì)再次向同一筆請(qǐng)求 發(fā)送響應(yīng).

  2. 框架調(diào)用業(yè)務(wù)so偽碼:

    try

    {

     loadso;

     proc_func=get_symbol:入口函數(shù)

     proc_func(in,out,extend);

    }

    catch(...)

    {

     printf "unkow exception"

    }

  3. 問題點(diǎn):

    業(yè)務(wù)現(xiàn)網(wǎng)請(qǐng)求消息20%超時(shí),服務(wù)端框架日志里有 “unkow exception”,但因?yàn)榭蚣芤幚砗芏鄻I(yè)務(wù),框架日志是公用的,不能確認(rèn)"unkow exception”是不是超時(shí)請(qǐng)求引起的。

    調(diào)整框架日志和業(yè)務(wù)so級(jí)別 為debug,框架調(diào)用業(yè)務(wù)so會(huì)輸出兩條接口日志(req,ans);

  4. 分析

    a.懷疑是壞的請(qǐng)求,框架解析請(qǐng)求失敗。根據(jù)請(qǐng)求里關(guān)鍵字,查看接口日志,發(fā)現(xiàn)只有req,沒有ans,可以確定 框架接收到了請(qǐng)求,說明網(wǎng)絡(luò)沒問題(在進(jìn)行這步是可以進(jìn)行抓包,和有80%成功率),并且請(qǐng)求沒問題。

    b.業(yè)務(wù)so 有該請(qǐng)求的運(yùn)行日志,發(fā)現(xiàn)運(yùn)行到某 特定行后 就不往下處理,沒產(chǎn)生core文件;可以確認(rèn)問題不在框架,結(jié)合框架產(chǎn)生的異常異常日志,說明 業(yè)務(wù)so 產(chǎn)生了異常。

    c.從業(yè)務(wù)so輸出的最后一條debug日志點(diǎn) 往下分析,異常一定是后續(xù)產(chǎn)生的;逐行代碼分析,重點(diǎn)關(guān)注可能拋出異常的函數(shù)(老司機(jī)一眼看出來,牛),最終鎖定在string str.substr(pos),該函數(shù)原型為

    string substr(size_t pos=0,size_t len=npos)const;

    If this is greater than the string length, it throws out_of_range.

  5. 總結(jié)

    a.發(fā)現(xiàn)現(xiàn)網(wǎng)問題,先向直接領(lǐng)導(dǎo)匯報(bào),說自己正在處理,領(lǐng)導(dǎo)可以幫助協(xié)調(diào)資源,評(píng)估影響。

    b.打開日志級(jí)別到debug,所有日志都要打開。(剛開始沒有打印接口日志,導(dǎo)致框架沒輸出req,不能確定是不是框架沒收到消息.)

    c.確定請(qǐng)求處理的最后幾行代碼。逐行分析.(有經(jīng)驗(yàn)老司機(jī),一眼就看出來問題代碼行)

    d.建議框架既然捕獲了異常,就輸出標(biāo)準(zhǔn)異常的詳情.e.what(),catch(exception e){} catch(...){}

    e.業(yè)務(wù)so 使用guard 類 局部對(duì)象 在析構(gòu)函數(shù)中判斷 out 是否為空,以判斷是不是異常退出,保證業(yè)務(wù)so 因業(yè)務(wù)異常退出時(shí) 能輸出日志,有據(jù)可查. 同時(shí)guard 內(nèi)也可以進(jìn)行 資源釋放回收,防止資源泄露.

  

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享名稱:記客戶端請(qǐng)求超時(shí)分析過程-創(chuàng)新互聯(lián)
分享路徑:http://chinadenli.net/article32/dooopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航關(guān)鍵詞優(yōu)化外貿(mào)網(wǎng)站建設(shè)定制開發(fā)云服務(wù)器網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司