精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

數據庫全量SQL分析與審計系統性能優化之旅

原創 精選
數據庫 新聞
本文介紹了美團基礎研發平臺抓包方案在數據庫審計實踐中遇到的性能問題以及優化實踐,希望能對大家有所幫助或啟發。

作者: 粟含 

全量SQL(所有訪問數據庫的SQL)可以有效地幫助安全進行數據庫審計,幫助業務快速排查性能問題。一般可通過開啟genlog日志或者啟動MySQL審計插件方式來進行獲取,而美團選用了一種非侵入式的旁路抓包方案,使用Go語言實現。無論采用哪種方案,都需要重點關注它對數據庫的性能損耗。

本文介紹了美團基礎研發平臺抓包方案在數據庫審計實踐中遇到的性能問題以及優化實踐,希望能對大家有所幫助或啟發。

1 背景

數據庫安全一直是美團信息安全團隊和數據庫團隊非常注重的領域,但由于歷史原因,對數據庫的訪問只具備采樣審計能力,導致對于一些攻擊事件無法快速地發現、定損和優化。安全團隊根據歷史經驗,發現攻擊訪問數據庫基本上都存在著某些特征,經常會使用一些特定SQL,我們希望通過對MySQL訪問流量進行全量分析,識別出慣用SQL,在數據庫安全性上做到有的放矢。

2 現狀及挑戰

下圖是采樣MySQL審計系統的架構圖,數據采集端基于pcap抓包方式實現,數據處理端選用美團大數據中心的日志接入方案。所有MySQL實例都部署了用于采集MySQL相關數據的rds-agent、日志收集的log-agent。rds-agent抓取到MySQL訪問數據,通過log-agent上報到日志接收端,為了減少延時,上報端與接收端間做了同機房調度優化。日志接收端把數據寫入到約定的Kafka中,安全團隊通過Storm實時消費Kafka分析出攻擊事件,并定期拉數據持久化到Hive中。

圖片

我們發現,通常被攻擊的都是一些核心MySQL集群。經統計發現,這些集群單機最大QPS的9995線約5萬次左右。rds-agent作為MySQL機器上的一個寄生進程,為了宿主穩定性,資源控制也極為重要。為了評估rds-agent在高QPS下的表現,我們用Sysbench對MySQL進行壓測,觀察在不同QPS下rds-agent抓取的數據丟失率和CPU消耗情況,從下面的壓測數據來看結果比較糟糕:

圖片

如何在高QPS下保證較低的丟失率與CPU消耗?已經成為當前系統的一個亟待解決的難題與挑戰。

3 分析及優化

下面主要介紹圍繞丟失率與CPU消耗這一問題,我們對數據采集端在流程、調度、垃圾回收和協議方面做的分析與改進。

3.1 數據采集端介紹

首先,簡要介紹一下數據采集端rds-agent,它是一個MySQL實例上的進程,采用Go語言編寫,基于開源的MysqlProbe的Agent改造。通過監聽網卡上MySQL端口的流量,分析出客戶端的訪問時間、來源IP、用戶名、SQL、目標數據庫和目標IP等審計信息。下面是其架構圖,主要分為5大功能模塊:

圖片

1. probe

probe意為探針,采用了gopacket作為抓包方案,它是谷歌開源的一個Go抓包庫,封裝了pcap。probe把抓取到原始的數據鏈路層幀封裝成TCP層的數據包。通過變種的Fowler-Noll-Vo算法哈希源和目的IP port字段,快速實現把數據庫連接打散到不同的worker中,該算法保證了同一連接的來包與回包的哈希值一樣。

2. watcher

登錄用戶名對于審計來說極其重要,客戶端往往都是通過長連接訪問MySQL,而登錄信息僅出現在MySQL通信協議的認證握手階段,僅通過抓包容易錯過。

watcher通過定時執行show processlist獲取當前數據庫的所有連接數據,通過對比Host字段與當前包的客戶端ip port,補償錯過的用戶名信息。

3. worker

不同的worker負責管理不同數據庫連接的生命周期,一個worker管理多個連接。通過定期比對worker的當前連接列表與watcher中的連接列表,及時發現過期的連接,關閉并釋放相關資源,防止內存泄漏。

4. connStream

整個數據采集端的核心邏輯,負責根據MySQL協議解析TCP數據包并識別出特定SQL,一個連接對應一個connStream Goroutine。因為SQL中可能包含敏感數據,connStream還負責對SQL進行脫敏,具體的特定SQL識別策略,由于安全方面原因,這里不再進行展開。

5. sender

負責數據上報邏輯,通過thrift協議將connStream解析出的審計數據上報給log-agent。

3.2 基礎性能測試

抓包庫gopacket的性能直接決定了系統性能上限,為了探究問題是否出在gopacket上,我們編寫了簡易的tcp-client和tcp-server,單獨對gopacket在數據流向圖中涉及到的前三個步驟(如下圖所示)進行了性能測試,從下面的測試結果數據上看,性能瓶頸點不在gopacket。

圖片

圖片

3.3 CPU畫像分析

丟失率與CPU消耗二者密不可分,為了探究如此高CPU消耗的原因,我們用Go自帶的pprof工具對進程的CPU消耗進行了畫像分析,從下面火焰圖的調用函數可以歸納出幾個大頭:SQL脫敏、解包、GC和Goroutine調度。下面主要介紹一下圍繞它們做的優化工作。

圖片

3.4 脫敏分析及改進

因為SQL中可能包含敏感信息,出于安全考慮,rds-agent會對每一條SQL進行脫敏處理。

脫敏操作使用了pingcap的SQL解析器對SQL進行模板化:即把SQL中的值全部替換成“?”來達到目的,該操作需要解析出SQL的抽象語法樹,代價較高。當前只有采樣和抓取特定SQL的需求,沒有必要在解析階段對每條SQL進行脫敏。這里在流程上進行了優化,把脫敏下沉到上報模塊,只對最終發送出去的樣本脫敏。

圖片?

這個優化取得的效果如下:

圖片3.5 調度分析及改進

從下面的數據流向圖可以看出整個鏈路比較長,容易出現性能瓶頸點。同時存在眾多高頻運行的Goroutine(紅色部分),由于數量多,Go需要經常在這些Goroutine間進行調度切換,切換對于我們這種CPU密集型的程序來說無疑是一種負擔。

圖片

針對該問題,我們做了如下優化:

  1. 縮短鏈路:分流、worker、解析SQL等模塊合并成一個Goroutine解析器。
  2. 降低切換頻率:解析器每5ms從網絡協議包的隊列中取一次,相當于手動觸發切換。(5ms也是一個多次測試后的折中數據,太小會消耗更多的CPU,太大會引起數據丟失)

這個優化取得的效果如下:

圖片

3.6 垃圾回收壓力分析及改進

下圖為rds-agent抓包30秒,已分配指針對象的火焰圖。可以看出已經分配了4千多萬個對象,GC壓力可想而知。關于GC,我們了解到如下兩種優化方案:

  1. 池化:Go的標準庫中提供了一個sync.Pool對象池,可通過復用對象來減少對象分配,從而降低GC壓力。
  2. 手動管理內存:通過系統調用mmap直接向OS申請內存,繞過GC,實現內存的手動管理。

圖片

但是,方案2容易出現內存泄漏。從穩定性的角度考慮,我們最終選擇了方案1來管理高頻調用函數里創建的指針對象,這個優化取得的效果如下:

圖片

3.7 解包分析及改進

MySQL是基于TCP協議之上的,在功能調試過程中,我們發現了很多空包。從下面的MySQL客戶端-服務端數據的交互圖可以看出:當客戶端發送一條SQL命令,服務端響應結果,由于TCP的消息確認機制,客戶端會發送一個空的ack包來確認消息,而且空包在整個流程中的比例較大,它們會穿透到解析環節,在高QPS下對于Goroutine調度和GC來說無疑是一個負擔。

圖片圖片

下圖是MySQL數據包的唯一格式,通過分析,我們觀察到以下特點:

圖片

  1. 一個完整的MySQL數據包長度>=4Byte
  2. 客戶端新發送命令的sequence id都是為0或者1

而pcap支持設置過濾規則,讓我們可以在內核層將空包排除掉,下面是上述特點對應的兩條過濾規則:

特點1:ip[2:2] - ((ip[0] & 0x0f) << 2) - ((tcp[12:1] & 0xf0) >> 2) >= 4
特點2: (dst host {localIP} and dst port 3306 and (tcp[(((tcp[12:1] & 0xf0) >> 2) + 3)] <= 0x01))

這個優化取得的效果如下:

圖片

基于上述經驗,我們對數據采集端進行功能代碼重構,同時還進行一些其它優化。

4 最終成果

下面是優化前后的數據對比,丟失率從最高60%下降到了0%, CPU消耗從最高占用6個核下降到了1個核。

圖片

為了探究抓包功能對MySQL性能損耗,我們用Sysbench做了一個性能對比測試。從下面的結果數據可以看出功能對MySQL的TPS、QPS和響應時間99線指標最高大約有6%的損耗。

圖片

5 未來規劃

雖然我們對抓包方案進行了各種優化,但對于一些延遲敏感的業務來說性能損耗還是偏大,而且該方案對一些特殊場景支持較差:如TCP協議層發生丟包、重傳、亂序時,MySQL協議層使用壓縮、傳輸大SQL時。而業界普遍采用了直接改造MySQL內核的方式來輸出全量SQL,同時也支持輸出更多的指標數據。

目前,數據庫內核團隊也完成了該方案開發,正在線上灰度替換抓包方案中。另外,對于線上全量SQL端到端丟失率指標的缺失,我們也將陸續進行補齊。

本文作者

粟含,來自于美團基礎研發平臺/基礎技術部/數據庫技術中心。

責任編輯:張燕妮 來源: 美團技術團隊
相關推薦

2010-08-03 17:36:55

DB2數據庫

2018-03-30 14:30:10

數據庫SQL語句性能優化

2018-03-30 13:59:22

數據庫SQL語句性能優化

2011-04-13 09:19:05

Oracle數據庫系統性能

2010-08-04 15:59:29

2010-04-09 13:26:44

2025-08-26 03:15:00

2022-09-25 22:09:09

大數據量技術HDFS客戶端

2010-11-30 13:47:40

SQL問題

2023-03-13 00:01:10

數據庫性能MySQL

2013-03-06 10:24:12

ksar工具系統性能

2013-09-17 10:32:08

Android性能優化數據庫

2013-03-20 17:18:07

Linux系統性能調優

2012-12-26 09:23:56

數據庫優化

2011-02-17 18:39:34

2017-11-08 10:47:04

2010-05-24 13:29:30

Swap空間

2021-01-31 17:50:41

數據庫查詢程序員

2011-05-18 09:39:19

Oracle數據庫性能優化

2011-05-20 10:30:20

ORACLE數據庫性能優化
點贊
收藏

51CTO技術棧公眾號

91精品婷婷国产综合久久蝌蚪| 日韩精品视频观看| 国产精品夜夜夜爽张柏芝| 国产精品视频在线观看免费| 伊人影院久久| 一本一道久久a久久精品逆3p| 亚洲精品成人在线播放| av资源在线播放| 国产精品天干天干在线综合| 4438全国亚洲精品在线观看视频| 国产午夜精品久久久久久久久| 久久天堂久久| 色狠狠综合天天综合综合| 老司机av福利| 免费播放片a高清在线观看| 久久99国产乱子伦精品免费| 欧美一区深夜视频| 91插插插插插插| 国产一区不卡| 亚洲国产精品一区二区久| 欧美三级午夜理伦三级富婆| 碰碰在线视频| 一区二区三区在线不卡| 亚洲国产一区在线| 神马久久久久| 福利91精品一区二区三区| 国产精品久久久久久久一区探花| 亚州国产精品视频| 欧美一区二区三区久久精品| 影音先锋日韩有码| 久久人人妻人人人人妻性色av| 国产精品一级在线观看| 欧美日韩专区在线| av丝袜天堂网| 制服丝袜专区在线| 亚洲一区二区精品3399| 国产高潮呻吟久久久| xxxxx日韩| 久久久久久久网| 九九九热999| 欧美一级性视频| 国产成人精品亚洲日本在线桃色| 成人精品久久一区二区三区| 中文字幕av资源| 日本一区中文字幕| 国产99久久精品一区二区永久免费| 日本系列第一页| 黑人一区二区三区四区五区| 欧美成人第一页| 九九热精品在线观看| 欧美在线国产| 久久91超碰青草是什么| 91在线播放观看| 艳女tv在线观看国产一区| 日韩在线www| 日本 欧美 国产| 999久久久精品国产| 最近中文字幕mv在线一区二区三区四区| av黄色免费网站| 欧美精品羞羞答答| 色av吧综合网| 福利所第一导航| 亚洲午夜伦理| 136fldh精品导航福利| 国产成人免费看| 视频一区在线视频| 国产精选久久久久久| 91精品国产乱码久久久| 国产专区综合网| 国产福利一区二区三区在线观看| 日本免费一区视频| 91免费国产在线| 日韩中文字幕av在线| 在线免费看av| 亚洲激情六月丁香| a√天堂在线观看| 欧美123区| 欧美一级在线观看| 小毛片在线观看| 亚洲老女人视频免费| 在线观看国产精品淫| 日本一级特级毛片视频| 黄色日韩在线| 国产精品va在线播放我和闺蜜| 亚洲图片小说视频| 国产成人午夜精品5599| 久久久影院一区二区三区| 国产在线视频网址| 伊人色综合久久天天| 欧美 日韩 国产在线观看| 香蕉成人av| 337p亚洲精品色噜噜噜| 国产二级一片内射视频播放 | а√在线中文在线新版 | 97人人爽人人爽人人爽| 国产91综合一区在线观看| 麻豆精品视频| 91福利国产在线观看菠萝蜜| 欧美视频第一页| 8x8x成人免费视频| 少妇精品导航| 欧美xxxx综合视频| 国产三级精品三级在线观看| 国产在线国偷精品产拍免费yy| 国产区一区二区三区| 99riav在线| 午夜影院在线观看欧美| 亚洲一区日韩精品| 久久丝袜视频| 操91在线视频| 真实新婚偷拍xxxxx| 国产不卡视频在线观看| 亚洲欧美成人一区| 高清不卡亚洲| 亚洲国产福利在线| 青青草原在线免费观看| 日韩影院免费视频| 激情视频在线观看一区二区三区| 男人天堂手机在线| 欧洲一区二区三区在线| 无码国产69精品久久久久网站| 色呦哟—国产精品| 欧美性受xxxx黑人猛交| 精品人妻久久久久一区二区三区 | 国产大陆a不卡| 亚洲精品一区二区三| 手机av在线| 亚洲第一区在线观看| 澳门黄色一级片| 久久99国产精品尤物| 色综合久久久久久久久五月| 欧美男男tv网站在线播放| 精品久久人人做人人爱| 免费在线观看黄色av| 韩国三级中文字幕hd久久精品| 午夜精品一区二区在线观看 | 亚洲一区国产精品| 日本免费在线观看| 欧美私人免费视频| 日本免费www| 日本中文一区二区三区| 欧美一区二区三区精美影视| 欧美aa一级| 国产视频欧美视频| 亚洲欧美偷拍一区| 久久亚洲精品国产精品紫薇| 少妇av一区二区三区无码| 北条麻妃在线一区二区免费播放| 大量国产精品视频| 亚洲成人av综合| 一区二区三区精品视频| 香蕉视频1024| 国产一区欧美| 久久99精品久久久久久青青日本| 九九色在线视频| 精品捆绑美女sm三区| 日韩三级视频在线| 91免费观看视频| 蜜臀久久99精品久久久酒店新书| 亚洲动漫在线观看| 国产精品福利片| 激情成人四房播| 亚洲成年人在线播放| 日产精品久久久久久久| 91美女蜜桃在线| 三级a在线观看| 香蕉国产精品| 成人看片在线| 台湾佬中文娱乐网欧美电影| 一区国产精品视频| 国产精品人人爽| 一二三区精品视频| 粉嫩av懂色av蜜臀av分享| 日韩主播视频在线| 国产a级片免费看| 成人搞黄视频| 日本精品va在线观看| 风间由美一区| 欧美一区日本一区韩国一区| 国产真实乱偷精品视频| 久久青草国产手机看片福利盒子 | 一本色道久久综合亚洲精品小说 | 狠狠色综合网站久久久久久久| 狼人综合视频| 日韩视频在线一区| 色呦呦中文字幕| 精品视频免费看| 久久久久久久久久综合| 久久久久久久电影| www.亚洲高清| 在线看片日韩| 一区二区视频在线观看| 久久国产精品色av免费看| 国产精品久久久久久网站| 黄网在线免费看| 日韩在线视频观看正片免费网站| 日本精品一二区| 777奇米成人网| 五月婷婷色丁香| 亚洲精品日韩专区silk| 波多野结衣 在线| 国产精品亚洲第一区在线暖暖韩国| 六月丁香婷婷在线| 国产精品av久久久久久麻豆网| 色姑娘综合网| 久久影视三级福利片| 亚洲aa在线观看| 日韩一区精品| 亚洲91精品在线观看| v天堂福利视频在线观看| 亚洲性线免费观看视频成熟| 免费av网站观看| 制服丝袜日韩国产| 天天爱天天做天天爽| 午夜久久福利影院| 一区二区三区四区五区| 91麻豆国产自产在线观看| 免费看91视频| 狠狠色伊人亚洲综合成人| 国产精品人人妻人人爽人人牛| 尹人成人综合网| 久久在线中文字幕| 一本一本久久a久久综合精品| 亚洲国产精品久久久久婷婷老年| 久久男人av| 国产日韩一区二区| 999久久久久久久久6666| 91网站在线看| 成人在线分类| 国产热re99久久6国产精品| 国模套图日韩精品一区二区| 91av网站在线播放| 精品丝袜在线| 91国产美女在线观看| 国产蜜臀一区二区打屁股调教| 欧美成人免费在线视频| 超碰caoporn久久| 久久影视电视剧免费网站清宫辞电视 | 经典三级在线视频| 99久久视频| 亚洲一区不卡在线| 国产精品黑丝在线播放| 中文字幕一区二区三区5566| 成人羞羞动漫| 亚洲一区三区视频在线观看 | 中文字幕综合在线| 福利在线播放| 色妞欧美日韩在线| 日本激情视频在线观看| 久久精品视频99| а√中文在线8| 欧美黄色免费网站| www.色在线| 欧美在线观看日本一区| 久久电影tv| 国产欧美va欧美va香蕉在线| 欧美大陆国产| 亚洲一区二区三区四区视频| 天堂精品久久久久| 久久久久综合一区二区三区| 亚洲自拍电影| 一区不卡字幕| 欧美午夜在线视频| 日韩精品xxxx| 日本va欧美va精品发布| 性生生活大片免费看视频| 国产精品456| 中文字幕高清视频| 国产嫩草影院久久久久| 国产高潮流白浆| 天天色天天操综合| 国产日韩久久久| 在线播放日韩导航| 黄色小视频免费观看| 亚洲免费av片| 国产色在线观看| 久久久久久久一区二区三区| 91精品产国品一二三产区| 国产精品入口福利| 8848成人影院| 欧美亚洲国产免费| 中文字幕一区二区三区乱码图片 | 亚洲一区999| 中文字幕在线播放网址| 777精品视频| 99亚洲男女激情在线观看| 成人女人免费毛片| 成人在线亚洲| 极品美女扒开粉嫩小泬| 免费av网站大全久久| 精品人妻一区二区三区日产| 亚洲国产成人一区二区三区| 国产精品50页| 欧美日韩情趣电影| 日本黄色免费视频| 久久久国产影院| 波多野结衣亚洲| 99热在线国产| 日韩在线理论| 自拍日韩亚洲一区在线| 麻豆国产一区二区| 成人免费看aa片| 亚洲精品日产精品乱码不卡| 中文字幕精品无码一区二区| 欧美成人精品3d动漫h| av色图一区| 热草久综合在线| youjizzjizz亚洲| 国产免费一区二区三区四在线播放| 男女精品网站| 日韩精品视频一区二区| 亚洲男人的天堂在线观看| 在线免费一区二区| 亚洲毛片在线看| 国产拍在线视频| 亚洲xxx自由成熟| 日韩在线精品| av五月天在线| 久久精品日韩一区二区三区| 精品无码久久久久| 日韩欧美在线综合网| 天天影视久久综合| 国产精品久久精品| 蜜臀91精品国产高清在线观看| 久久视频这里有精品| 国产高清无密码一区二区三区| 蜜桃av.com| 欧美色精品在线视频| 欧美一区二区少妇| 91po在线观看91精品国产性色| 91精品短视频| 日韩精品免费一区| 国产精品一区在线观看乱码| 91香蕉国产视频| 91成人网在线| eeuss影院在线观看| 国产成人久久久精品一区| 在线亚洲a色| 国产1区2区在线| 久久久www成人免费毛片麻豆| 中文在线第一页| 亚洲视频在线免费看| 亚洲日本网址| 日韩免费av电影| 日本不卡一区二区三区| 在线观看亚洲大片短视频| 欧美优质美女网站| 91成人高清| 91美女福利视频高清| 亚洲深深色噜噜狠狠爱网站| 精品国产午夜福利在线观看| 亚洲靠逼com| 欧美少妇bbw| 欧美做受高潮电影o| 亚洲精品亚洲人成在线| 青青青在线视频免费观看| 日本一区二区三区在线不卡| 在线免费看91| 欧美激情一区二区三级高清视频| 精品国内亚洲2022精品成人| 欧美日韩激情视频在线观看| 国产日韩欧美精品综合| 中文字幕理论片| 久久国产精品电影| 久久1电影院| 成人免费视频久久| 日韩码欧中文字| 亚洲欧美激情在线观看| 欧美在线一区二区视频| 成人羞羞视频在线看网址| 4438x全国最大成人| 偷拍与自拍一区| 玖玖综合伊人| 91系列在线播放| 亚洲美洲欧洲综合国产一区| 女女互磨互喷水高潮les呻吟 | 韩国av永久免费| 欧美最猛性xxxxx亚洲精品| 欧美激情偷拍自拍| 国产精品99久久久精品无码| 色哟哟在线观看一区二区三区| 毛片在线播放a| 久久精品国产综合精品| 美女爽到高潮91| 国产精品2020| 尤物九九久久国产精品的特点| 我要色综合中文字幕| 少妇性l交大片| 一区二区三区四区不卡视频| 日本午夜在线视频| 91亚洲国产精品| 香蕉久久夜色精品| 国产精品免费人成网站酒店| 精品夜色国产国偷在线| 免费一级欧美在线观看视频| 国产自产在线视频| 国产精品国产成人国产三级| 头脑特工队2免费完整版在线观看| 成人在线小视频| 久热精品视频|