精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产成人影院| 国产美女高潮在线观看| 国内精品免费**视频| 欧美激情xxxx性bbbb| 成年人的黄色片| 国产精品毛片久久久久久久久久99999999| 中文字幕中文在线不卡住| 99久久无色码| 超碰在线免费97| 国产精品地址| 亚洲人成五月天| 黄页网站在线看| 国产精品扒开腿做爽爽爽视频软件| 国产精品理论在线观看| 国产精品裸体一区二区三区| 久草热在线观看| 亚洲美女少妇无套啪啪呻吟| 中文字幕日韩在线观看| 人妻av一区二区| 亚洲久草在线| 色综合久久88色综合天天 | 日韩精品福利| 国产自产v一区二区三区c| 欧美一区二区三区精品电影| 日韩欧美综合视频| 成人写真视频| 日韩精品免费在线观看| 自拍视频第一页| 日韩在线电影| 欧美影片第一页| 男人天堂1024| hd国产人妖ts另类视频| 亚洲人成网站影音先锋播放| 亚洲成人精品电影在线观看| 香蕉视频黄色片| 成人av一区二区三区| 91九色综合久久| 中文字幕在线网址| 久热精品在线| 91大神在线播放精品| 日韩欧美亚洲国产| 欧美精品激情| 欧美国产乱视频| 丝袜美腿小色网| 99久久视频| 久久精品国产91精品亚洲| 国产视频不卡在线| 欧美日韩伦理| 国产香蕉97碰碰久久人人| 无码h肉动漫在线观看| 欧亚精品一区| 精品少妇一区二区三区在线视频| 精品久久久99| 日韩一级特黄| 91精品国产综合久久久久久久| 欧美精品性生活| 麻豆精品蜜桃| 欧美日韩小视频| 国产永久免费网站| 高清不卡一区| 日韩女优av电影在线观看| 亚洲熟女一区二区三区| www.豆豆成人网.com| 精品动漫一区二区三区在线观看| 97中文字幕在线观看| 国产精品白浆| 日韩电影网在线| 一区二区三区伦理片| 国产欧美一区| 日韩中文字在线| 老女人性淫交视频| 狠狠爱综合网| 欧美在线不卡区| 国产又粗又猛又黄视频| 美国三级日本三级久久99| 成人久久久久久久| 成人午夜免费在线观看| 91在线高清观看| 日本成人三级电影网站| 在线看黄色av| 一级女性全黄久久生活片免费| 成人精品视频在线播放| 周于希免费高清在线观看| 在线看不卡av| 亚洲图片 自拍偷拍| 51vv免费精品视频一区二区| 亚洲国内高清视频| 成人免费av片| 999久久久免费精品国产| 欧美激情视频在线免费观看 欧美视频免费一| 日本妇女毛茸茸| 亚洲综合99| 国产主播欧美精品| 天天色棕合合合合合合合| 国产视频亚洲色图| 日本成人在线不卡| 99re66热这里只有精品4| 欧美一区日韩一区| 性色av蜜臀av色欲av| 久久精品高清| 亚洲18私人小影院| 在线观看日韩一区二区| av男人天堂一区| 亚洲午夜精品一区二区三区| 亚洲综合图区| 欧美影院精品一区| 日本国产在线视频| 99久久精品费精品国产风间由美 | 美女写真久久影院| 欧美不卡视频一区| 纪美影视在线观看电视版使用方法| 欧美一区二区| 国产精品免费福利| 亚洲人在线观看视频| 亚洲人成伊人成综合网小说| 88av.com| 欧洲亚洲一区二区三区| 不卡av在线网站| 中文在线观看av| www国产亚洲精品久久麻豆| 无颜之月在线看| 色8久久久久| 亚洲人成五月天| 成人精品免费在线观看| 国产ts人妖一区二区| 亚洲图片欧洲图片日韩av| 免费无码国产精品| 国产一区二区三区免费观看在线 | 黄色大片在线看| 亚洲成av人综合在线观看| 在线免费视频一区| 亚洲系列另类av| 久久国产色av| 亚洲一卡二卡在线| 国产精品婷婷午夜在线观看| 97在线免费公开视频| 久久综合五月婷婷| 中文字幕久久亚洲| 精品人妻一区二区三区潮喷在线| 波多野结衣中文一区| 欧美视频在线观看视频| 日韩中文在线| 欧美高清一级大片| 成人毛片视频免费看| 亚洲免费在线看| 国产欧美激情视频| 亚洲成人免费| 亚洲在线免费观看| 伊人春色在线观看| 日韩一区二区精品在线观看| 国产波霸爆乳一区二区| 国产精品69毛片高清亚洲| 日本丰满大乳奶| 国产一区二区三区黄网站| 久久中文字幕在线视频| 国产视频手机在线| 一区二区三区产品免费精品久久75| 国产乱叫456| 国产字幕视频一区二区| 国产精品swag| 免费看男女www网站入口在线| 日韩av在线网| 波多野结衣二区三区| 国产欧美一二三区| 手机免费看av网站| 国产精品啊v在线| 极品尤物一区二区三区| 中文字幕色婷婷在线视频| 怡红院精品视频| 国产精品一品二区三区的使用体验| 亚洲日本在线天堂| 亚洲乱妇老熟女爽到高潮的片| 亚洲一本视频| 欧美一级爱爱| 成人亚洲精品| 孩xxxx性bbbb欧美| 韩国福利在线| 56国语精品自产拍在线观看| 国产真实乱人偷精品视频| 91亚洲精品久久久蜜桃| 久久精品影视大全| 欧美激情1区2区| 麻豆成人av| 日韩成人一区| 97久久精品国产| 成人欧美亚洲| 欧美变态口味重另类| 精品人妻一区二区色欲产成人| 国产精品视频第一区| 色欲欲www成人网站| 久久九九99| 欧美美女黄色网| 免费欧美视频| 99视频国产精品免费观看| 免费电影日韩网站| 不卡av在线网站| 国产乱子伦三级在线播放| 日韩免费观看高清完整版在线观看| 国产午夜性春猛交ⅹxxx| 136国产福利精品导航| 日本少妇毛茸茸| 国产一区二区在线免费观看| 国产最新免费视频| 亚洲影视一区| 日韩高清dvd| 欧美黄色录像| 91色在线观看| 台湾成人免费视频| 久久久在线观看| 毛片网站在线免费观看| 亚洲精品午夜精品| 亚洲精品国产suv一区| 欧美在线制服丝袜| 少妇一级淫片免费放中国| 亚洲同性gay激情无套| japanese中文字幕| 99精品偷自拍| 麻豆tv在线观看| 久久爱www久久做| 成人黄色一区二区| 国产日韩欧美三区| 久久国产午夜精品理论片最新版本| 99久久综合| 日韩国产一区久久| 九一精品国产| 久久精品国产第一区二区三区最新章节| 国产一区二区高清在线| 91精品国产综合久久香蕉的用户体验| 涩涩涩在线视频| 91精品国产亚洲| 激情网站在线| 欧美日韩国产第一页| 青青青青在线| www.精品av.com| 在线视频二区| 中文字幕免费国产精品| 91吃瓜网在线观看| 伊人精品在线观看| 国际av在线| 亚洲人成网站777色婷婷| 色鬼7777久久| 日韩毛片在线看| 女人天堂在线| 亚洲一区二区黄| 丁香婷婷在线观看| 国产一区二区日韩| 国产在线视频福利| 夜夜嗨av色综合久久久综合网| 国产天堂素人系列在线视频| 一区二区三区高清国产| 国产黄色片在线观看| 国产一区二区三区在线看| 国产51人人成人人人人爽色哟哟 | 久久久久网站| 国产偷人视频免费| 三级欧美在线一区| 免费看国产黄色片| 美女脱光内衣内裤视频久久网站| 天堂视频免费看| 精品中文av资源站在线观看| 永久免费看片在线观看| 丁香六月综合激情| 最近日本中文字幕| 国产日韩欧美精品综合| 貂蝉被到爽流白浆在线观看| 中文字幕在线不卡视频| 欧美一区免费观看| 亚洲韩国精品一区| 台湾佬中文在线| 欧美日本一区二区| 国产成人精品亚洲精品色欲| 亚洲第一国产精品| 国产高清在线| 欧美丰满少妇xxxx| 无码小电影在线观看网站免费 | 久久精品九色| 国产精品手机在线| 国产99久久| 成年人免费观看的视频| 国产精品vip| 日本成年人网址| 激情图片小说一区| 中文字幕三级电影| 国产女人aaa级久久久级| 99鲁鲁精品一区二区三区| 午夜精品福利久久久| 国产精品午夜一区二区| 日韩欧美国产麻豆| 国产在线你懂得| 欧美日韩第一视频| 朝桐光一区二区| 波多野结衣一区二区三区在线观看| 日韩电影不卡一区| 国产精品波多野结衣| 国产一区二区三区的电影 | 精品久久久久av| 国产精品中文字幕一区二区三区| 97人妻精品一区二区三区免| 日韩一区在线看| 男人天堂2024| 日韩欧美一级二级| 成人在线观看网站| 高清欧美一区二区三区| 日韩av懂色| 欧美精品123| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久久久国产一区| 91蝌蚪porny| 久久久久无码国产精品不卡| 欧美影院一区二区| 青青操在线视频| 久久久久久中文字幕| 伊人久久大香| 日本不卡久久| 国产美女诱惑一区二区| 人妻精品久久久久中文字幕69| 国产欧美一区在线| 中文字幕免费观看| 亚洲精品mp4| av第一福利在线导航| 亚洲综合在线做性| 亚洲国产精品久久久久蝴蝶传媒| 丁香啪啪综合成人亚洲| 99免费精品视频| 国产亚洲欧美精品久久久www| 欧美日韩国产成人在线91| 国产中文在线| 日韩免费观看高清| 欧美xxxx在线| 国产精品久久中文字幕| 国产福利91精品一区| 538任你躁在线精品视频网站| 欧美日韩国产一区二区三区地区| 你懂的在线播放| 国产91精品在线播放| 亚洲精品aaaaa| 成人免费观看视频在线观看| av中文字幕在线不卡| 日韩激情一区二区三区| 精品国产精品一区二区夜夜嗨| www在线免费观看视频| 91亚洲精品一区| 午夜欧美精品久久久久久久| 激情成人在线观看| 一区二区三区在线高清| 亚洲精品一区二区三区区别| 欧美国产日本高清在线| 亚洲一区二区三区日本久久九| www国产免费| 成人精品一区二区三区四区| 久久精品美女视频| 亚洲风情亚aⅴ在线发布| av免费不卡| 欧美不卡在线一区二区三区| 日韩在线播放一区二区| 国产福利在线导航| 欧美另类变人与禽xxxxx| 黄a在线观看| 国产精品久久久久久久小唯西川| 99av国产精品欲麻豆| 伊人网伊人影院| 欧美日韩精品一区二区在线播放| 久草中文在线| 国产精品18毛片一区二区| 国产精品久久久免费| 亚洲精品午夜视频| 欧美精品高清视频| 7777kkk亚洲综合欧美网站| 久久精品国产第一区二区三区最新章节| 久久亚洲国产精品一区二区| 天天操天天干天天操天天干| 91麻豆精品国产91久久久资源速度| 怡红院av在线| 欧美人xxxxx| 国产综合色产在线精品| 99热国产在线观看| 在线不卡国产精品| 日韩免费一级| 蜜臀久久99精品久久久酒店新书| 国产精品伦理一区二区| 亚洲精品97久久中文字幕| 欧美做受高潮电影o| 日韩黄色大片网站| 香蕉视频污视频| 欧美亚男人的天堂| 日本三级韩国三级欧美三级| 快播亚洲色图| 国产一区二区三区在线观看免费视频 | 91 在线视频观看| 亚洲一区二区3| 91在线网址| 国产欧美日本在线| 老司机午夜精品| 日韩欧美成人一区二区三区 | 2018av在线| 亚洲三区视频| 91碰在线视频| 精品国产av一区二区| 日韩美女在线观看| 好吊视频一区二区三区四区|