金 鑫, 朱默寧
(1.光大富尊投資有限公司 信息技術(shù)部,上海 200040; 2.合肥工業(yè)大學(xué) 管理學(xué)院,安徽 合肥 230009)
?
一種流量動(dòng)態(tài)可控的異步日志系統(tǒng)設(shè)計(jì)
金 鑫1, 朱默寧2
(1.光大富尊投資有限公司 信息技術(shù)部,上海 200040; 2.合肥工業(yè)大學(xué) 管理學(xué)院,安徽 合肥 230009)
在關(guān)鍵實(shí)時(shí)系統(tǒng)的設(shè)計(jì)中,日志子系統(tǒng)作為一個(gè)基礎(chǔ)監(jiān)控模塊有著重要的作用。然而,當(dāng)監(jiān)控事件大規(guī)模突發(fā)時(shí),日志數(shù)據(jù)的監(jiān)控與記錄反而會(huì)對(duì)系統(tǒng)性能造成顯著影響,嚴(yán)重時(shí)甚至?xí)枞鞒绦虻倪壿?。針?duì)該問題,文章設(shè)計(jì)并實(shí)現(xiàn)了一種既可以保證應(yīng)用系統(tǒng)的平穩(wěn)運(yùn)行,又可以有效地滿足監(jiān)控?cái)?shù)據(jù)采集的日志系統(tǒng),通過(guò)介紹異步機(jī)制和流量控制設(shè)計(jì),闡明了解決上述問題的基本方案,并對(duì)該系統(tǒng)相關(guān)參數(shù)的選擇進(jìn)行了理論分析。實(shí)驗(yàn)結(jié)果證明了該日志系統(tǒng)在提供強(qiáng)大而靈活的日志功能情況下,可以有效地保證系統(tǒng)主程序的平穩(wěn)運(yùn)行。
日志系統(tǒng);實(shí)時(shí)監(jiān)控;異步記錄;流量控制
日志是程序運(yùn)行過(guò)程中產(chǎn)生的數(shù)據(jù),主要反映了用戶與計(jì)算機(jī)系統(tǒng)交互過(guò)程中產(chǎn)生的行為數(shù)據(jù)。日志系統(tǒng)主要用于監(jiān)控程序的運(yùn)行情況和用戶的行為,并可實(shí)時(shí)監(jiān)控并記錄系統(tǒng)發(fā)生錯(cuò)誤的現(xiàn)場(chǎng)數(shù)據(jù)等信息,日志系統(tǒng)的主要功能有:幫助開發(fā)人員和運(yùn)維人員更好地了解系統(tǒng)狀態(tài),審計(jì)操作流程或排查系統(tǒng)錯(cuò)誤等。此外,對(duì)于面向大量客戶的業(yè)務(wù)應(yīng)用程序,還可以通過(guò)分析日志數(shù)據(jù)了解客戶的行為偏好。有數(shù)據(jù)顯示,在一個(gè)系統(tǒng)的總代碼量中,進(jìn)行日志輸出的代碼量占4%以上[1]。因此,在大型系統(tǒng)特別是關(guān)鍵實(shí)時(shí)系統(tǒng)的開發(fā)和運(yùn)維中,良好的日志系統(tǒng)設(shè)計(jì)具有重要的意義。
目前業(yè)界主流的日志庫(kù)系統(tǒng)在設(shè)計(jì)上主要有以下2個(gè)問題:
(1) 日志輸出會(huì)阻塞主線程執(zhí)行。因?yàn)椴糠秩罩編?kù)簡(jiǎn)單采用單線程設(shè)計(jì),系統(tǒng)的應(yīng)用進(jìn)程在進(jìn)行日志輸出時(shí)會(huì)阻塞主邏輯運(yùn)行,需要等待輸入/輸出(input/output,IO)操作完成后才能繼續(xù)后續(xù)代碼的執(zhí)行,所以對(duì)于關(guān)鍵實(shí)時(shí)系統(tǒng)來(lái)說(shuō),這種設(shè)計(jì)對(duì)于業(yè)務(wù)響應(yīng)會(huì)造成影響。
(2) 大量突發(fā)數(shù)據(jù)會(huì)影響系統(tǒng)整體性能。在大量監(jiān)控事件突發(fā)并需要寫日志數(shù)據(jù)時(shí),日志模塊會(huì)集中產(chǎn)生磁盤沖擊。此時(shí)文件IO成為系統(tǒng)瓶頸,從而顯著降低了生產(chǎn)環(huán)境系統(tǒng)的整體性能,并對(duì)實(shí)時(shí)程序的運(yùn)行產(chǎn)生性能影響。
基于上述分析,本文提出了一種流量動(dòng)態(tài)可控的異步日志系統(tǒng),該系統(tǒng)的設(shè)計(jì)目標(biāo)如下:
(1) 具備異步日志輸出機(jī)制,保證日志工作邏輯不會(huì)阻塞業(yè)務(wù)應(yīng)用進(jìn)程。
(2) 具備流量控制機(jī)制,保證突發(fā)大量日志請(qǐng)求時(shí),頻繁IO的性能損耗不會(huì)超過(guò)一定閾值。
一直以來(lái),業(yè)界的普遍共識(shí)是日志管理在軟件開發(fā)和系統(tǒng)的運(yùn)行過(guò)程中是一個(gè)非常重要的部分,日志模塊對(duì)于系統(tǒng)的實(shí)時(shí)監(jiān)控起著非常重要的作用[1];近些年來(lái),為提高日志系統(tǒng)的數(shù)據(jù)吞吐量與效率,很多學(xué)者開展了有益的研究。文獻(xiàn)[2]對(duì)傳統(tǒng)的同步日志記錄方式進(jìn)行了改進(jìn),設(shè)計(jì)并實(shí)現(xiàn)了一種異步記錄告警日志的入侵防御系統(tǒng),應(yīng)用多核技術(shù)進(jìn)行并行處理,使數(shù)據(jù)的吞吐量提高了3倍多;文獻(xiàn)[3]為解決安全管理平臺(tái)中海量日志查詢效率低下的問題,設(shè)計(jì)了基于云計(jì)算的安全管理平臺(tái)日志存儲(chǔ)分析系統(tǒng),與基于關(guān)系數(shù)據(jù)的多表關(guān)聯(lián)查詢方法相比,基于云計(jì)算的日志存儲(chǔ)分析系統(tǒng)使安全管理平臺(tái)日志的平均查詢效率提高了約90%,并能加快平臺(tái)集中管控的整體響應(yīng)速度;文獻(xiàn)[4]根據(jù)系統(tǒng)的架構(gòu)和設(shè)計(jì)需求通過(guò)實(shí)時(shí)分布式多源異構(gòu)數(shù)據(jù)的收集,實(shí)現(xiàn)了大規(guī)模分布式實(shí)時(shí)日志數(shù)據(jù)的海量存儲(chǔ)與查詢;文獻(xiàn)[5]引入一種多并行的入侵檢測(cè)體系結(jié)構(gòu)對(duì)系統(tǒng)日志進(jìn)行實(shí)時(shí)監(jiān)控;文獻(xiàn)[6]基于現(xiàn)有的日志數(shù)據(jù)和信息系統(tǒng),開發(fā)了一種適用于離線和在線信息消費(fèi)的監(jiān)控系統(tǒng);文獻(xiàn)[7]通過(guò)使用卡爾曼濾波方法預(yù)測(cè)工作量,使系統(tǒng)性能提升了63.1%。
當(dāng)今主流的日志系統(tǒng)或多或少地借鑒了Log4j庫(kù)的設(shè)計(jì)理念。Log4j實(shí)現(xiàn)了一個(gè)基于Java的日志記錄工具框架[8],其最初由Ceki設(shè)計(jì)開發(fā),現(xiàn)在已經(jīng)成為Apache的一個(gè)開源項(xiàng)目。Log4j定義了3個(gè)重要概念,分別是Logger、Appender和Layout,通過(guò)這3個(gè)組件協(xié)同的工作,Log4j為日志行為控制提供了極大的靈活性。此外,通過(guò)預(yù)定義的日志等級(jí)和日志過(guò)濾器,用戶可以自由地選擇需要記錄的內(nèi)容。值得一提的是,Log4j提供了異步日志功能,從而達(dá)到了避免阻塞主程序的目標(biāo)。
2.1 異步機(jī)制
本文提出的日志異步輸出機(jī)制如下:基于平臺(tái)線程接口,日志系統(tǒng)在初始化后首先啟動(dòng)一個(gè)單獨(dú)的監(jiān)控?cái)?shù)據(jù)日志處理線程loggerThread負(fù)責(zé)日志數(shù)據(jù)的實(shí)際輸出。業(yè)務(wù)主線程每次捕捉到需要記錄日志的監(jiān)控?cái)?shù)據(jù)后,便調(diào)用日志輸出接口,進(jìn)行數(shù)據(jù)采集。在接口內(nèi)部,實(shí)際上是把日志監(jiān)控?cái)?shù)據(jù)寫入內(nèi)存中的一個(gè)日志數(shù)據(jù)輸出請(qǐng)求隊(duì)列,并沒有產(chǎn)生實(shí)際的IO操作;該輸出接口完成入隊(duì)列操作后,則立即返回并讓業(yè)務(wù)主線程繼續(xù)執(zhí)行。
另一方面,loggerThread啟動(dòng)后便不停輪詢?nèi)罩菊?qǐng)求隊(duì)列,一旦發(fā)現(xiàn)有新的記錄時(shí)就執(zhí)行真正的日志輸出動(dòng)作,直到將隊(duì)列中的請(qǐng)求處理完畢。loggerThread所做的工作可能是簡(jiǎn)單的磁盤文件寫入,也可能是復(fù)雜的通過(guò)syslog接口傳輸數(shù)據(jù)至網(wǎng)絡(luò)日志服務(wù)器,但是這些IO操作的延遲不會(huì)阻塞業(yè)務(wù)邏輯的執(zhí)行。異步機(jī)制的工作原理如圖1所示。
用戶在初始化日志系統(tǒng)前,需要定義異步日志隊(duì)列的長(zhǎng)度參數(shù)logQueueLen。
圖1 監(jiān)控?cái)?shù)據(jù)異步日志系統(tǒng)
2.2 流量控制
異步日志機(jī)制雖然避免了日志庫(kù)阻塞主程序的問題,但是在數(shù)據(jù)突發(fā)增長(zhǎng)的場(chǎng)景下,大量IO操作對(duì)系統(tǒng)整體性能的沖擊仍然是需要解決的問題。在這種場(chǎng)景下,降低日志性能損耗的方法就是在日志請(qǐng)求超過(guò)一定閾值后,開啟日志流速控制。
本文設(shè)計(jì)的日志系統(tǒng)的流量控制機(jī)制如下:用戶設(shè)定3個(gè)參數(shù),分別是流量控制檢測(cè)周期(rateCtlInterval)、日志請(qǐng)求數(shù)量閾值(rateControlCount)和流量控制執(zhí)行周期(rateControlDuration)。算法首先在流量控制檢測(cè)周期內(nèi)計(jì)算到達(dá)隊(duì)列的日志請(qǐng)求數(shù)目,一旦該請(qǐng)求數(shù)量達(dá)到日志請(qǐng)求數(shù)閾值則立即開啟流量控制,一直持續(xù)到流量控制執(zhí)行周期結(jié)束。因此,動(dòng)態(tài)流量控制的一個(gè)總周期可以劃分為2個(gè)階段:流量控制檢測(cè)階段Td和流量控制執(zhí)行階段Te,如圖2所示。
圖2 流量控制的周期劃分圖
圖2中,m為檢測(cè)階段的數(shù)據(jù)輸出請(qǐng)求數(shù)閾值。此外,如果流量控制檢測(cè)周期設(shè)為0,表示始終不執(zhí)行流量控制;如果數(shù)據(jù)輸出請(qǐng)求數(shù)閾值設(shè)為0,表示始終執(zhí)行流量控制機(jī)制。
在流量控制執(zhí)行周期中,日志系統(tǒng)通過(guò)Hash Table進(jìn)行相同日志記錄的合并來(lái)實(shí)現(xiàn)流量控制的目標(biāo):對(duì)于未出現(xiàn)過(guò)的日志類型,系統(tǒng)在Hash Table里面增加一條;否則只增加相同記錄類型的計(jì)數(shù)。以錯(cuò)誤報(bào)警日志為例,在大量錯(cuò)誤突發(fā)時(shí),日志庫(kù)以錯(cuò)誤號(hào)為Key寫入每條錯(cuò)誤日志,對(duì)于相同類型的錯(cuò)誤只增加錯(cuò)誤發(fā)生次數(shù)。流量控制時(shí)間段結(jié)束后,loggerThread會(huì)將Hash Table里面的記錄進(jìn)行輸出,并開啟下一輪的流量控制檢測(cè)周期。流量控制機(jī)制在錯(cuò)誤日志中的應(yīng)用如圖3所示。
圖3 流量控制合并機(jī)制
圖3中,流量控制檢測(cè)周期為3 s,請(qǐng)求數(shù)閾值為100,流量控制執(zhí)行周期為7 s。
數(shù)據(jù)輸出請(qǐng)求隊(duì)列是應(yīng)用線程和日志數(shù)據(jù)處理線程之間數(shù)據(jù)緩存的橋梁。異步機(jī)制要求日志系統(tǒng)初始化時(shí)定義隊(duì)列長(zhǎng)度logQueueLen用于創(chuàng)建隊(duì)列。雖然內(nèi)存隊(duì)列可以臨時(shí)動(dòng)態(tài)分配,但是頻繁的數(shù)組擴(kuò)容會(huì)增加數(shù)據(jù)挪動(dòng)開銷,而且一旦分配失敗會(huì)影響整個(gè)系統(tǒng)的業(yè)務(wù)運(yùn)行,因此需要基于業(yè)務(wù)系統(tǒng)的應(yīng)用場(chǎng)景計(jì)算出隊(duì)列長(zhǎng)度的基準(zhǔn)值。
(1)
設(shè)第i-1秒后的隊(duì)列長(zhǎng)度為L(zhǎng)i-1,那么第i秒后的隊(duì)列長(zhǎng)度如下:
(2)
因?yàn)殛?duì)列長(zhǎng)度不可以為負(fù)數(shù),所以在服務(wù)速度大于數(shù)據(jù)到達(dá)速度的場(chǎng)景下,隊(duì)列最小為0。
假設(shè)1 d的業(yè)務(wù)時(shí)段總長(zhǎng)為t,那么在DT-1的所有時(shí)段內(nèi)隊(duì)列長(zhǎng)度出現(xiàn)過(guò)的最大值便可以作為未來(lái)隊(duì)列長(zhǎng)度的基準(zhǔn)值Lq:
(3)
其中,α為調(diào)和系數(shù),即對(duì)歷史數(shù)據(jù)中最壞情況下的隊(duì)列長(zhǎng)度再進(jìn)行一定系數(shù)的放大;c為某個(gè)正整數(shù)常量,用于保證長(zhǎng)度的最小值(歷史數(shù)據(jù)為0的情況),其選取值可以是任意1 s的非零事件數(shù)ei(ei>0)。
例如,假設(shè)DT-1的業(yè)務(wù)時(shí)間為5 s,日志系統(tǒng)每秒平均完成2條輸出數(shù)據(jù)的寫請(qǐng)求,α選取1.8,c選取1,那么對(duì)于如下事件發(fā)生率ei,可以采用(3)式計(jì)算長(zhǎng)度基準(zhǔn)值,見表1所列。即
此外,為了使計(jì)算結(jié)果更具代表性,可以對(duì)n天的歷史數(shù)據(jù)DT-1~DT-n分別進(jìn)行統(tǒng)計(jì)并計(jì)算Lq,再最終選取其中的最大值作為異步隊(duì)列長(zhǎng)度基準(zhǔn)值。
表1 隊(duì)列長(zhǎng)度的基準(zhǔn)值
通過(guò)2組實(shí)驗(yàn)證明上述的研究成果。首先,對(duì)日志系統(tǒng)的性能進(jìn)行如下測(cè)試:比較Log4c[10]、Log4j[10]和本文提出的異步式日志機(jī)制的響應(yīng)時(shí)間。實(shí)驗(yàn)中執(zhí)行的一個(gè)單元任務(wù)為進(jìn)行N條運(yùn)算操作并將每條運(yùn)算結(jié)果計(jì)入日志,其中本文關(guān)注的性能指標(biāo)是任務(wù)的響應(yīng)時(shí)間,即同樣進(jìn)行一個(gè)單元任務(wù),在使用同步和異步2種方式下,從任務(wù)開始到任務(wù)結(jié)束總共消耗的時(shí)間。通過(guò)在[5 000,100 000]之間逐漸遞增N的數(shù)目,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 業(yè)務(wù)響應(yīng)時(shí)間比較
從實(shí)驗(yàn)結(jié)果可以看到,Log4c的響應(yīng)時(shí)間最長(zhǎng),因?yàn)槠渫耆珱]有異步日志功能,所以日志操作產(chǎn)生了大量的響應(yīng)延遲,響應(yīng)時(shí)間隨著需要記錄的日志條目的增多而迅速爬升。而Log4j因?yàn)榫哂胁糠之惒皆O(shè)計(jì),所以性能有所提升,但響應(yīng)時(shí)間的增長(zhǎng)仍然明顯。而本文提出的日志系統(tǒng)不僅設(shè)計(jì)了異步機(jī)制,而且避免了隊(duì)列動(dòng)態(tài)分配,因此,響應(yīng)時(shí)間最短。經(jīng)過(guò)對(duì)比可以證明本文所提出的日志系統(tǒng)的性能明顯優(yōu)于Log4c和Log4j系統(tǒng)。
其次,對(duì)日志系統(tǒng)的流量控制機(jī)制進(jìn)行如下測(cè)試:比較在開啟流量控制的場(chǎng)景下,Log4c[10]、Log4j[10]和本系統(tǒng)的IO性能比,即通過(guò)輸出的日志條數(shù)比較IO的性能。實(shí)驗(yàn)共20輪,每輪運(yùn)行20 s;日志事件為系統(tǒng)錯(cuò)誤,每秒產(chǎn)生5 000個(gè)錯(cuò)誤(即每秒記錄5 000條),產(chǎn)生的錯(cuò)誤號(hào)在范圍R內(nèi)隨機(jī)生成,R的取值范圍隨著輪數(shù)的增長(zhǎng)在[8,28]之間逐級(jí)遞增;流量控制檢測(cè)周期選擇3 s,日志請(qǐng)求數(shù)閾值選擇10 000條,流量控制執(zhí)行周期選取5 s,其中流量控制執(zhí)行階段對(duì)于相同的錯(cuò)誤號(hào)類型進(jìn)行日志合并。實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 流量控制輸出的數(shù)據(jù)量
通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的分析可以看出:
(1) 本文提出的日志系統(tǒng)的日志輸出數(shù)量呈線性增長(zhǎng),這與理論估算的結(jié)果相契合。首先,因?yàn)榱髁靠刂茩z測(cè)周期為3 s,日志數(shù)閾值為10 000,所以第3秒會(huì)開始流量控制持續(xù)5 s,即在20 s內(nèi)會(huì)進(jìn)行3次流量控制;其次,每次流量控制會(huì)記錄10 000+R條記錄,因?yàn)榱髁靠刂茍?zhí)行階段會(huì)進(jìn)行日志合并,而合并的標(biāo)準(zhǔn)是相同錯(cuò)誤類型號(hào),所以在流量控制的5 s內(nèi)會(huì)最多記錄R條記錄;最后,每輪20 s后會(huì)記錄30 000+3R條記錄。例如當(dāng)R=10時(shí),實(shí)驗(yàn)結(jié)果是30 030;當(dāng)R=28時(shí),實(shí)驗(yàn)結(jié)果為30 084。
(2) Log4c和Log4j由于未采用流量控制機(jī)制,每輪均需記錄100 000條左右的記錄,大量的突發(fā)消息可能會(huì)導(dǎo)致部分?jǐn)?shù)據(jù)在日志IO中丟失,如果其中有重要的日志數(shù)據(jù)則會(huì)影響最終的日志效果。而本文提出的日志系統(tǒng)只對(duì)重復(fù)出現(xiàn)的日志數(shù)據(jù)類型進(jìn)行合并,兼顧了整體性能和數(shù)據(jù)質(zhì)量,實(shí)驗(yàn)證明流量控制機(jī)制對(duì)IO性能提高了3倍以上。
本文介紹了一種對(duì)流量進(jìn)行動(dòng)態(tài)實(shí)時(shí)監(jiān)控的異步日志系統(tǒng)的設(shè)計(jì)原理,從理論上解釋了該日志系統(tǒng)可以達(dá)到本文提出的設(shè)計(jì)目標(biāo),并能有效解決現(xiàn)有日志系統(tǒng)存在的缺陷和問題。此外,本文還對(duì)系統(tǒng)關(guān)鍵參數(shù)的選取策略進(jìn)行了分析,指導(dǎo)用戶基于業(yè)務(wù)場(chǎng)景的實(shí)際情況進(jìn)行調(diào)優(yōu)。最后,本文通過(guò)實(shí)驗(yàn)進(jìn)一步展示了該日志系統(tǒng)的性能指標(biāo),證明了該日志系統(tǒng)可以良好地滿足關(guān)鍵實(shí)時(shí)系統(tǒng)的需求。未來(lái)將嘗試擴(kuò)展系統(tǒng)的多目標(biāo)輸出方式,如集成Syslog輸出[11];另外,通過(guò)利用共享內(nèi)存機(jī)制[12]進(jìn)一步提高日志系統(tǒng)的輸出性能。
[1] 史志英,徐義晗.一種基于Log4J的日志輸出組件的設(shè)計(jì)[J].信息技術(shù)與信息化,2008(1):65-67.
[2] 艾磊,陳文.一種異步日志記錄的入侵防御系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)安全,2014(3):2-6.
[3] 陳潔,于永剛,劉明恒,等.安全管理平臺(tái)中基于云計(jì)算的日志分析系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2015,41(2):21-25.
[4] 曾明宇.一種基于Storm和Mongodb的分布式實(shí)時(shí)日志數(shù)據(jù)存儲(chǔ)與處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)及應(yīng)用[D].杭州:浙江大學(xué),2015.
[5] VASILIADIS G,POLYCHRONAKS M,IOANNLDIS S.MIDeA:a multi-parallel intrusion detection architecture.[C]//Proceeding of the 18th ACM Conference on Computer and Communications Security.New York:ACM,2011:297-308.
[6] KREPS J,NARKHEDE N,RAO J.Kafka:A distributed messaging system for log processing [C]//Proceedings of the NetDB'11.[S.l.:s.n.],2012:129-140.
[7] ZHANG F,CAO J W,KHAN S U,et al.A task-level adaptive MapReduce framework for real-time streaming data in healthcare applications[J].Future Generation Computer Systems,2015,43/44:149-160.
[8] GULCU C.Log4j[EB/OL].[2016-2-26].http://logging.apache.org/log4j/2.x/.
[9] 唐應(yīng)輝.排隊(duì)論[M].北京:科學(xué)出版社,2006:12-28.
[10] CHUVAKIN A A,SCHMIDT K J,PHILLIPS C.Logging & Log Management:the authoritative guide to understanding the concepts surrounding logging and log management[M].US:Pubilisher Syngress Media,2013:329-342.
[11] 何世俊.基于Syslog的網(wǎng)絡(luò)信息日志管理系統(tǒng)[D].上海:華東理工大學(xué),2012.
[12] 連仁包,王衛(wèi)星.基于共享內(nèi)存的松耦合日志系統(tǒng)研究和設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(6):8-11,15.
(責(zé)任編輯 張 镅)
A design of asynchronization logging system with dynamic flow control
JIN Xin1, ZHU Moning2
(1.Department of Information Technology, Everbright Fortune Investment Co., Ltd., Shanghai 200040, China; 2.School of Management, Hefei University of Technology, Hefei 230009, China)
As a fundamental monitoring module, logging subsystem plays an important role in the design of real-time critical systems. However, in cases when enormous monitoring events happen suddenly, the logging data monitoring and recording affects the performance of the whole system dramatically, and it may even block the logic running of the main process. To solve this problem, a logging system is designed and realized, which not only guarantees the steady running of the main process, but also effectively satisfies the requirements of events monitoring and logging. Firstly, the design of asynchronization mechanism and flow control is introduced, demonstrating the general solution of the problem above. Then a theoretical analysis of system parameters for optimization is conducted. The experimental results show that this design can provide powerful and flexible logging functionality without affecting the performance of the whole system.
logging system; real-time monitoring; asynchronization logging; flow control
2016-07-25;
2016-09-20
國(guó)家自然科學(xué)基金資助項(xiàng)目(71401048);安徽省自然科學(xué)基金資助項(xiàng)目(1508085MG140)
金 鑫(1981-),男,安徽含山人,博士,光大富尊投資有限公司工程師.
10.3969/j.issn.1003-5060.2016.11.011
TP315
A
1003-5060(2016)11-1493-05