日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

用C語言寫一個零依賴日志解析工具:caveman的設(shè)計與實現(xiàn)

用C語言寫一個零依賴日志解析工具:caveman的設(shè)計與實現(xiàn) 1. 項目起底caveman到底在解決什么問題1.1 為什么叫cavemancaveman不是一個復古游戲也不是什么部落生存App這是我維護了大半年的一個命令行工具項目。名字聽起來確實像穴居人核心思路也刻意走原始路線用標準C寫一個零第三方依賴的日志解析與指標聚合程序編譯出來只有一個可執(zhí)行文件扔到幾十臺只裝了最小化系統(tǒng)的老服務(wù)器上也能直接跑。最初觸發(fā)這個項目的是很現(xiàn)實的問題。團隊里有一套Python寫的日志統(tǒng)計腳本看起來功能挺全但每次部署都像渡劫有的機器Python版本不對有的機器缺pip包有的機器因為安全策略不讓你聯(lián)網(wǎng)裝東西。更麻煩的是腳本一跑就是兩三個小時中途內(nèi)存漲到2GB多經(jīng)常被OOM Killer干掉。我那時候就想到底有沒有一種方式能讓這種工具像cp、grep一樣拷過去就能用跑起來還不容易死。那次排查持續(xù)了一周最后我干脆決定自己動手。既然要避開解釋器、運行時和包管理這些麻煩最直接的選擇就是C語言。于是caveman這個項目就誕生了目標非常簡單一個二進制處理完輸入就退出內(nèi)存占用可預測速度盡量快出錯時能夠給出明確提示而不會整機崩潰。1.2 需求清單的確認任何項目動手之前需求不敲定后面一定會反復返工。caveman的第一版需求清單其實很短但每條都是從實際痛點里提煉出來的需求說明優(yōu)先級單一可執(zhí)行文件拷貝即用不依賴任何外部運行時和動態(tài)庫極高啟動速度快冷啟動到開始處理數(shù)據(jù)不超過50ms高內(nèi)存可控處理1GB文件時峰值內(nèi)存不超過200MB高支持管道處理能從stdin讀入也能直接處理文件列表高輸出格式穩(wěn)定支持CSV和JSON兩種輸出方便下游腳本消費中錯誤可診斷任何異常都能定位到具體的行號和狀態(tài)中這份清單看著簡單但后來每次做技術(shù)取舍我都會回頭對照它。要不要引入第三方解析庫不會破壞單一可執(zhí)行文件的需求。要不要用多線程并行處理暫緩因為多線程會把內(nèi)存峰值和調(diào)試成本都拉高。要不要支持復雜的表達式過濾不加那會模糊項目的邊界。定下需求之后整體方向就清晰了。這個工具的核心是一個狀態(tài)機驅(qū)動的流式解析器外加一個簡單但夠用的哈希表做聚合統(tǒng)計最后按固定格式輸出。整個過程不需要把整個文件讀進內(nèi)存而是采用固定緩沖區(qū)的流式讀取逐塊處理逐行聚合。1.3 適用對象與場景caveman適合誰首先是天天跟日志、文本記錄打交道的運維和后端開發(fā)者。比如你需要統(tǒng)計一天之內(nèi)某個業(yè)務(wù)接口的調(diào)用次數(shù)、異常碼分布、響應耗時分位數(shù)但手頭只有一個解壓后的原始日志又不想費勁去搭大數(shù)據(jù)平臺這種場景就很適合。其次它適合所有對部署環(huán)境有嚴格限制的場景。我已經(jīng)不止一次碰到客戶機器不允許安裝任何額外軟件包的情況甚至不保證有Python環(huán)境。這種時候一個編譯好的caveman可執(zhí)行文件比什么都好用直接scp上去就能跑跑完把結(jié)果拿回來機器上不留任何痕跡。如果你是一個對新工具持有好奇心愿意自己動手折騰的人也可以把它當作一個學習案例。后面我會講到手寫狀態(tài)機解析、內(nèi)存池設(shè)計、哈希表沖突處理這些偏底層的細節(jié)思路可以遷移到很多其他語言的項目里。2. 整體設(shè)計與架構(gòu)決策2.1 技術(shù)選型為什么是C而不是Go或Rust決定用C語言不是因為我偏愛C而是這個項目的需求恰好把C的劣勢都規(guī)避了又把C的優(yōu)勢發(fā)揮到極致。先說說為什么不用Go。Go的部署確實方便交叉編譯也是加分項但Go二進制里塞了運行時體積隨隨便便就上10MB。在追求“盡可能小”的場景里這多出來的體積不算致命可還有另外一個問題Go的GC會帶來不確定的停頓雖然通常影響不大但在處理超大日志時觀察過幾次內(nèi)存翻倍和GC暫停和我“內(nèi)存可控”的目標有點沖突。Rust其實是不錯的選擇內(nèi)存安全、性能接近C而且cargo管理依賴很舒服。但Rust對編譯工具鏈的要求不低很多老服務(wù)器上的gcc版本不行rustup安裝又受網(wǎng)絡(luò)限制。做運維工具的人都有個習慣能用現(xiàn)有環(huán)境輕松編譯的就選現(xiàn)有的不要為了一時舒服制造部署負擔。C語言就是那個“在任何一個機器上都大概率能編譯”的語言。標準C11加上POSIX接口只依賴libc和內(nèi)核編譯選項控制得當連動態(tài)庫都可以不依賴。在嵌入式、容器、最小化Linux系統(tǒng)這些場景里C幾乎是唯一一個不太需要擔心“環(huán)境沒有它就跑不了”的語言。當然選C等于把內(nèi)存管理的責任全部背到自己身上。這個代價不能忽視所以我專門設(shè)計了內(nèi)存池來集中管理內(nèi)存分配后面會詳細說。2.2 模塊劃分與數(shù)據(jù)流caveman的代碼結(jié)構(gòu)刻意做得非常簡單我不喜歡一個工具項目一上來就搞十幾個目錄。最終劃分成四個核心模塊main.c入口、命令行參數(shù)解析、頂層流程控制parser.c流式解析器負責把文本按行拆開并提取字段store.c聚合存儲層負責哈希表、內(nèi)存池和統(tǒng)計值更新report.c輸出層負責將結(jié)果寫成CSV或JSON這四個模塊之間只通過很小的幾個接口交互。main拿到命令行參數(shù)之后把輸入源統(tǒng)一抽象成一個“讀取器”。讀取器要么是open后的文件描述符要么直接是stdin解析器不關(guān)心數(shù)據(jù)從哪來只關(guān)心next()函數(shù)是否還能返回新的一行。這樣的分層帶來一個額外的好處測試的時候可以把任意一段文本通過管道喂進去不用構(gòu)建復雜的測試文件系統(tǒng)。我在單元測試里大量使用echo加管道的組合比如echo -e a\nb\nc | caveman --format csv測起來非常順手。數(shù)據(jù)流的方向是單向的一行文本進入parser之后解析出鍵值對更新到store里。store里的數(shù)據(jù)最終由report讀取并格式化。全程沒有回調(diào)函數(shù)沒有復雜的事件循環(huán)就是一個簡單的線性流程。這種設(shè)計思路可能在一些人眼里過于樸素但恰恰是這種樸素讓問題定位變得特別容易。任何一個環(huán)節(jié)出問題只要追蹤一個方向就能找到根因。2.3 三個關(guān)鍵取舍第一個取舍是不用多線程。日志解析這個任務(wù)本質(zhì)上是IO密集和簡單計算密集的混合體理論上用多線程確實能提速。但我評估了一下復雜度多線程意味著要處理鎖競爭、線程池、任務(wù)隊列還要處理各個線程統(tǒng)計結(jié)果的合并。一旦引入這些內(nèi)存峰值會上去bug排查難度也會成倍增加。項目初版先跑通性能不夠再做多進程也行反正數(shù)據(jù)可以分片。第二個取舍是不做異步IO。異步IO很時髦但對這個項目來說收益不大。我們用標準read/write配合一個64KB的緩沖區(qū)在絕大多數(shù)場景下已經(jīng)能吃掉磁盤的吞吐能力。真要做異步還得考慮不同平臺的多路復用機制差異這明顯違背了零負擔部署的初衷。第三個取舍是內(nèi)存池。C語言里malloc和free本身不慢但頻繁分配小塊內(nèi)存會出現(xiàn)碎片和性能抖動。對于解析日志這種模式每解析一行就有若干臨時字符串如果用malloc/free那調(diào)用次數(shù)會極其夸張。內(nèi)存池的做法是一次性向系統(tǒng)申請一大塊內(nèi)存內(nèi)部用游標切分解析過程中產(chǎn)生的臨時對象全部從池子里分配任務(wù)結(jié)束直接把整塊內(nèi)存交還系統(tǒng)。省掉了free的逐個調(diào)用也避免了碎片的出現(xiàn)。需要強調(diào)一點內(nèi)存池不是所有情況的萬能藥。如果每個對象生命周期差異很大內(nèi)存池可能會造成巨大浪費。但日志解析的特點是周期短、體量大、生命周期整齊所有臨時字符串都是活到當前行處理完就不用了這正好匹配內(nèi)存池的長處。3. 實操過程從零構(gòu)建caveman核心3.1 工程骨架與構(gòu)建腳本我習慣新建項目時先把構(gòu)建腳本寫好哪怕是三四個源文件的小項目也要讓make build和make test能一鍵完成。caveman的目錄結(jié)構(gòu)很簡單caveman/ ├── src/ │ ├── main.c │ ├── parser.c │ ├── parser.h │ ├── store.c │ ├── store.h │ ├── report.c │ └── report.h ├── tests/ │ ├── run_tests.sh │ └── fixtures/ ├── Makefile └── README.mdMakefile寫得也比較克制沒有用autotools因為不想為了一個單文件工具引入一整套構(gòu)建系統(tǒng)。下面是核心的構(gòu)建規(guī)則我做了個簡化版CC ? gcc CFLAGS ? -stdc11 -O2 -Wall -Wextra -fno-strict-aliasing LDFLAGS ? -static BIN : caveman SRC : $(wildcard src/*.c) OBJ : $(SRC:.c.o) all: $(BIN) $(BIN): $(OBJ) $(CC) $(CFLAGS) -o $ $^ $(LDFLAGS) %.o: %.c $(CC) $(CFLAGS) -c -o $ $ test: $(BIN) bash tests/run_tests.sh clean: rm -f $(OBJ) $(BIN)幾個值得注意的細節(jié)。第一-fno-strict-aliasing在C語言里基本屬于保險開關(guān)因為有些老代碼在指針類型轉(zhuǎn)換上不夠嚴謹取消嚴格別名規(guī)則能減少莫名奇妙的優(yōu)化bug。第二-static這個選項會把libc靜態(tài)鏈接進去生成的文件會稍微大一點但換來的是在目標機器上不需要任何動態(tài)庫。對于caveman這種工具追求的就是極致的可移植性體積多幾百KB完全可以接受。編譯生成的二進制在老服務(wù)器上實測大概是300KB左右這在今天動輒幾十MB的工具里面真的有點特殊的時代感。但就是這300KB解決了我們長久以來的部署難題。3.2 手寫狀態(tài)機解析器解析器是caveman最核心的部分也是最值得說的。如果考慮用正則表達式來解析日志那寫起來確實舒服但正則庫的依賴會打破零依賴原則而且正則引擎在處理特別長的行時存在災難性回溯的風險。對于一個需要長時間穩(wěn)定運行的解析工具這種不確定性是不能接受的。所以我把解析器做成一個確定性的狀態(tài)機。以解析常見的訪問日志為例一條日志長這樣2025-01-15T10:24:3108:00 [INFO] user10086 api/order/detail code200 cost185ms我們需要提取時間、用戶ID、接口路徑、狀態(tài)碼和耗時。狀態(tài)機的思路是逐字符掃描把整個解析過程分為幾個明確的狀態(tài)STATE_TIME讀取時間字段遇到空格就切到下一個字段STATE_LEVEL讀日志級別遇到空格切換到字段掃描STATE_FIELD讀取keyvalue對遇到空格繼續(xù)下一對遇到換行結(jié)束本行核心代碼示意大致長這樣typedef enum { STATE_TIME, STATE_LEVEL, STATE_FIELD, STATE_DONE } ParseState; int parse_line(const char *line, size_t len, ParsedRecord *out) { ParseState state STATE_TIME; size_t i 0; Field cur {0}; while (i len state ! STATE_DONE) { char c line[i]; switch (state) { case STATE_TIME: if (c ) { state STATE_LEVEL; } break; case STATE_LEVEL: if (c ) { state STATE_FIELD; } break; case STATE_FIELD: if (c ) { cur.key_start field_start; } else if (c ) { commit_field(out, cur); state STATE_FIELD; field_start i 1; } else if (c \n) { commit_field(out, cur); state STATE_DONE; } break; default: break; } i; } return 0; }這段代碼是高度簡化后的示意圖真實實現(xiàn)里我會把字段名解析和值截取分開做還會處理轉(zhuǎn)義字符。但核心思想就是這個用狀態(tài)變量記住當前在哪個階段每讀一個字符做一次判斷復雜度是O(n)理論上不會出現(xiàn)正則那樣回溯到指數(shù)級的情況。手寫狀態(tài)機的另一個好處是我可以精確控制哪些字符需要處理哪些可以直接跳過。比如解析大量日志時很多字段我們是根本不關(guān)心的狀態(tài)機可以不把它們的內(nèi)容復制到任何緩沖區(qū)里直接跳過只保留字段起止位置后面需要時再按需拷貝。這種零拷貝思路比正則表達式那種“匹配結(jié)果即復制”的方式高效得多。3.3 內(nèi)存池和哈希表設(shè)計之前提到內(nèi)存池是本項目控制內(nèi)存的關(guān)鍵。這里的實現(xiàn)思路并不復雜我用一個鏈式的大塊結(jié)構(gòu)每個塊默認64KB塊內(nèi)用offset分配內(nèi)存塊用完就新開一個塊typedef struct PoolBlock { size_t used; size_t capacity; struct PoolBlock *next; char data[]; } PoolBlock; typedef struct { PoolBlock *head; size_t block_size; } Pool; void *pool_alloc(Pool *p, size_t size) { size (size 7) ~7; // 8字節(jié)對齊 PoolBlock *b p-head; if (b-used size b-capacity) { b create_block(p, max(p-block_size, size)); b-next p-head; p-head b; } void *ptr b-data b-used; b-used size; return ptr; }每次分配都從當前塊的used游標上切一塊出去不做單獨釋放。因為日志解析場景中所有需要保留到最終報告里的數(shù)據(jù)只包括聚合鍵和累加值這些數(shù)據(jù)一旦確定就不會再改變所以不需要在任務(wù)結(jié)束前釋放某個單獨的字符串。整池銷毀時只需要遍歷一次鏈表把每個塊free掉就行。哈希表方面我也沒有引入任何外部哈希庫而是自己實現(xiàn)了一個鏈地址法的哈希表。鍵是一個字符串視圖也就是指針加長度而不是以\0結(jié)尾的字符串。這樣可以避免為了查詢在內(nèi)存池里額外復制一份同樣的字符串。哈希函數(shù)我選擇了FNV-1a這種哈希算法簡單、速度快而且在處理短字符串時分布非常均勻。查找過程是先通過哈希定位到桶再在桶內(nèi)鏈表中逐個比較長度和memcmp。因為這個場景的鍵通常比較短具體業(yè)務(wù)里一般也就幾十個不同字段桶里鏈表很短沖突基本可以忽略。但如果鍵數(shù)量非常多我會在初始化哈希表時設(shè)定較大的桶數(shù)比如默認4096個桶在聚合數(shù)超過負載因子之后再動態(tài)擴容。內(nèi)存池和哈希表組合的精妙之處在于整個程序在生命周期內(nèi)不會調(diào)用很多次系統(tǒng)分配函數(shù)從而避免內(nèi)存碎片。我曾在處理10GB日志時觀察過RSS曲線它的峰值很穩(wěn)定基本是一個平臺狀態(tài)而不是那種鋸齒形波動。3.4 參數(shù)解析與退出碼約定命令行參數(shù)解析部分是整個項目里最“無聊”的模塊但它直接決定了工具好不好用。caveman支持的參數(shù)不多這也是我刻意克制的結(jié)果caveman [-f input_file] [-o output_file] [--format csv|json] [--field TIME,CODE,COST] [--mode count|sum|avg]參數(shù)越少使用門檻越低也越不容易出錯。每個參數(shù)我都選擇了簡短且含義明確的命名而不是搞一堆縮寫。同時我還支持從環(huán)境變量讀取默認參數(shù)這樣在腳本里可以將一些固定配置收斂。退出碼的約定也必須固定下來。0表示正常處理完畢1表示參數(shù)解析錯誤2表示輸入文件無法打開3表示解析過程中出現(xiàn)了無法跳過的致命錯誤。這個約定看著簡單但自動化腳本非常依賴它。比如在采集平臺里一旦某臺機器返回碼不是0調(diào)度器就能立刻知道任務(wù)失敗而不需要再去解析標準輸出里的錯誤信息。標準輸出只輸出正式結(jié)果錯誤信息全部走標準錯誤輸出。這也是一個小細節(jié)但直接影響下游腳本能否安全地把結(jié)果重定向到文件。如果你在日志里混入報錯信息那結(jié)果文件就會變成無法解析的垃圾。4. 常見問題與排坑記錄4.1 靜態(tài)編譯之后竟然還是缺依賴理論上加了-static之后生成的二進制就不依賴任何動態(tài)庫了但我在第一次部署時還是踩了坑拿到目標機器上一跑提示Illegal instruction。排查了很久才發(fā)現(xiàn)問題出在編譯時的CPU指令集。編譯caveman的機器是較新的CPUgcc默認會根據(jù)當前機器的特性啟用一部分新指令集擴展而目標服務(wù)器的CPU比較老不支持這些指令于是一執(zhí)行就非法指令。解決辦法是在Makefile里明確指定編譯目標平臺的最小子集CFLAGS -marchx86-64 -mtunegeneric這樣編譯器只會使用所有x86-64處理器都支持的基礎(chǔ)指令兼容性一下就上去了。后續(xù)我在給其他架構(gòu)編譯的時候也會檢查-march參數(shù)比如針對ARM平臺會改用-marcharmv7-a或者直接不指定。這個坑提醒我靜態(tài)鏈接解決的是運行庫依賴但解決不了CPU指令集差異。在面向多環(huán)境的通用工具上寧可犧牲一點本地機器的性能也要保證生成二進制在目標環(huán)境能跑。4.2 大文件處理時的內(nèi)存水位突然升高有一段時間我持續(xù)觀測到caveman處理大文件時的內(nèi)存峰值不穩(wěn)定有時300MB有時600MB。一開始以為是哈希表擴容導致但排查后發(fā)現(xiàn)真正的罪魁禍首是輸出層。原來的輸出邏輯是在所有行解析完成之后把整個報告一次性拼成一個巨大的字符串然后再一次性write出去。這個字符串的大小取決于聚合結(jié)果數(shù)量而當unique鍵數(shù)量很多時內(nèi)存自然飆升。解決方式非常直接改成分塊寫入。每生成一批記錄就立刻調(diào)用write落盤并清空內(nèi)部緩沖區(qū)。因為報告數(shù)據(jù)本身是順序遍歷哈希表產(chǎn)生的所以這不需要復雜的調(diào)度只需要在遍歷過程中維持一個小的寫緩沖比如32KB寫滿就flush一次。修改之后內(nèi)存峰值穩(wěn)定在180MB以內(nèi)即在處理10GB日志時也沒再出現(xiàn)過超出預期的情況。項目中凡是遇到內(nèi)存抖動的大概率都是在某個地方攢了大量的中間數(shù)據(jù)而不是真正的業(yè)務(wù)數(shù)據(jù)量太大。4.3 管道模式下stdin的數(shù)據(jù)怎么處理另一個容易出問題的是stdin輸入模式。如果用戶執(zhí)行cat file | caveman --format json程序是讀取標準輸入而不是直接從文件讀取。這本身沒問題但我在初版實現(xiàn)里沿用了普通文件的lseek來跳過無效頭部結(jié)果stdin不允許lseek直接返回ESPIPE報錯。這個問題讓測試腳本時斷時續(xù)后來我統(tǒng)一用一個輸入抽象層來解決。這個抽象層內(nèi)部維護一個當前讀取方式標志普通文件模式下可以使用pread或lseek管道模式下只能順序讀取并維護自己的offset狀態(tài)。這個調(diào)整的影響面不小因為它促使我重新梳理了“輸入源”這個概念。現(xiàn)在caveman不僅能讀普通文件和stdin還能通過文件描述符參數(shù)與上游進程協(xié)作處理一些更復雜的管道場景。4.4 在CI流水線里的集成思路既然部署場景是自動化環(huán)境caveman自然也要能被CI流水線方便地使用。我在項目的tests目錄里寫了一個run_tests.sh把常規(guī)使用場景全部覆蓋成斷言式測試#!/bin/bash set -euo pipefail caveman_bin${1:-./caveman} printf user1 code200\nuser2 code500\nuser1 code200\n | \ $caveman_bin --field user,code --mode count --format csv /tmp/t1.csv test $(cat /tmp/t1.csv) $user,code,count\n1,200,2\n2,500,1 echo PASS: basic count aggregation這些測試在每次代碼變更后都會跑所以后續(xù)迭代一直沒有鬧出過什么大回歸。CI流水線里我把編譯環(huán)節(jié)拆成了兩步先做常規(guī)編譯再跑一次針對老CPU的兼容性編譯。只有兩步都通過才會生成release二進制。5. 實測數(shù)據(jù)與個人經(jīng)驗5.1 測試環(huán)境測試這組數(shù)據(jù)使用的是一臺很普通的4核8GB內(nèi)存虛擬機磁盤是普通SSD操作系統(tǒng)是Debian 11內(nèi)核版本5.10。對比對象是團隊原來使用的Python腳本它用正則表達式逐行匹配把所有結(jié)果保存在字典里最后一次性打印。輸入數(shù)據(jù)是一份模擬的訪問日志共1000萬行大小約1.2GB。字段包括時間戳、用戶ID、接口路徑、狀態(tài)碼和耗時。聚合任務(wù)要求按狀態(tài)碼和接口路徑兩個維度統(tǒng)計調(diào)用次數(shù)和平均耗時。5.2 性能與資源占用對比指標Python腳本caveman處理耗時約23分40秒約42秒峰值內(nèi)存2.1GB156MB依賴需Python3.8無啟動時間約0.45秒約3毫秒這個數(shù)據(jù)看起來差距非常大但實際測試并不意外。Python腳本在正則匹配和字典維護上有較大的開銷而且它把中間結(jié)果全部保留到字典中又疊加了對象頭信息的內(nèi)存放大。caveman走的是流式處理和緊湊的內(nèi)存池存儲邏輯更貼近底層性能自然占優(yōu)。耗時從十幾分鐘變成幾十秒對于每天需要跑好幾次統(tǒng)計的任務(wù)來說改善非常直觀。更重要的是內(nèi)存從2.1GB降到156MB這讓它能夠跑在一些配置很低的采集機器上不再會因為內(nèi)存不足而被系統(tǒng)殺掉。5.3 哪些場景適合caveman從這半年多的使用經(jīng)驗看caveman比較適合以下幾類場景第一是日志聚合。無論是Nginx訪問日志、應用日志還是業(yè)務(wù)埋點日志只要格式相對固定caveman就能用很小的代價完成統(tǒng)計。對格式不規(guī)則的文本它的狀態(tài)機設(shè)計也能通過新增狀態(tài)分支來適應。第二是數(shù)據(jù)清洗和簡單轉(zhuǎn)換。一些臨時性的文本處理任務(wù)如果把Python腳本部署到目標機器環(huán)境實在太重。用caveman可以一次編譯到處運行在處理大批量數(shù)據(jù)時還不容易卡死。第三是嵌入式或邊緣計算場景。那些機器資源非常緊張不僅是CPU和內(nèi)存連存儲空間都吝嗇。caveman一個300KB的二進制放在任何地方都不會覺得占地方。不適用的場景也有。如果字段結(jié)構(gòu)高度動態(tài)每行格式都不一樣那狀態(tài)機寫起來會非常痛苦。這時候更通用的awk甚至Python反而是更好的選擇。另外如果需要實時監(jiān)聽并處理持續(xù)到達的數(shù)據(jù)流caveman的單次運行模型也不合適它更適合批處理。5.4 一些額外的經(jīng)驗體會整個caveman項目做下來我最大的體會是工具的價值常常不體現(xiàn)在功能多少上而體現(xiàn)在它能不能在特定環(huán)境里穩(wěn)定完成一件事。很多時候我們并不缺功能強大的軟件缺的是能放在任何機器上、不用折騰依賴、不會半路崩潰的小工具。如果你也想做一個類似的工具我建議從需求清單開始清晰寫下你的邊界條件。這個清單會在你頭腦發(fā)熱想加功能時幫你保持理智。另外C語言項目的內(nèi)存管理一定不能圖省事散著malloc內(nèi)存池或預分配策略對長時間運行的批處理工具幾乎是必需品。最后一點多做真實數(shù)據(jù)的壓測。我用10GB日志壓測過caveman之后才發(fā)現(xiàn)自己最初的輸出緩沖設(shè)計有問題。紙上推演一百遍都不如實際跑一次大文件來得直接。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲天堂,男人| 六月婷激情福利天堂69| 欧美色图私拍91| 亚洲丨在线| 日韩一级特黄av毛片| 男人天堂站| 97欧美日韩精品| 精品人体无圣光凹凸| 一区二区 日韩 欧美 国产 传媒| 综合亚洲欧美| 婷婷五月av| 加勒比性爱成人在线| 国产野战露脸在线播放| 成人天天看站长推荐| 69天堂| 亚洲色欲天天人妻无码系列专区| 狼人综合婷婷激情四射 | 亚洲欧美综合网站| 女人 A一级| 国产婷婷一区| 日本一区二区三区免费观看| 青青国产在线拍揄自揄拍| 欧美日韩久久精品爱爱| 色哟哟-国产专区| 亚洲少妇视频| 99热99re超碰精品| 91大神精品长腿在线观看网站| 深爱激情五月天| 伊人宅男大香蕉| 丁香五月影院| 欧美高清色| 久久久久人妻| 亚洲色91| 欧美色婷婷| 一本精品日本在线视频精品 | 天天综合网~91综合网| 中文字幕日韩精品一区二区三区| 久久久久久人妻| 亚洲图片欧洲图片aⅴ| 欧美精品三级黄片| 国产性久久久| 国产成人欧美一区二区三区的国产| 亚洲男人电影天堂| 亚洲天堂2020| 老司机免费视频在线91| 曰本熟女视频| 久久国产三区| 日韩欧美偷拍美女视频| 插B在线观看| 乱伦Av网| 亚洲欧美色图片| 天天综合91在线| 丰满人妻无码一区二区三区| 十八禁电影伊人网| 久久这里都是精品| 91丝袜| 麻豆久久久久久久久丝袜| 丝袜AV一二三区| 不卡免费av在线播放| 国产精品毛片?v一区二区三区| 91碰超| 欧美日韩亚洲一区二区在线观看 | 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 999久久久九| 中文字幕亚洲在线一区| 乱日视频| 天干天干天干天天做| 国产sv美女内射| 国产日韩怡红院| 麻豆天美一区二区| 日少妇视频| 日韩兔费看黄片| 亚洲婷婷综合网| 在线岛国新天堂8| 高清成年美女黄网站免费大全 | 日本淫乱女一区二区三区视频| 亚洲Av噜噜一区二区三区妖精| 国产精品国产拍高清AV| 手机在线观看不卡无码av| 97亚洲综合影院| 熟女高潮合集-永久久久-成人AV| 91影视亚洲| 精精夜夜| 午夜天堂精品久久久久91| 99在线免费公开视频| 精品天堂| 亚洲视频精选| 九一性生活免费视频| 青娱乐国产剧情av一区| 乱伦av.com| 精品蜜乳AV免费观看| 秋霞午夜视频一区二区| 久草综合视频| x97av| 色香伊人| 欧美性爱18观看| 免费一级视频特黄色大片| 日本一区二区电影网站| 97久操| 欧洲综合无码| 国产AV久久久蜜爱影集| 精品十三区| 上床啊啊啊| 在线免费观看日韩一区| 98色网| 99re在线视频国产| a亚洲欧美色欲| 亚洲和欧美裸体美女双飞视频| 大香蕉97久久| 欧美日韩丝袜| 一区二区日韩欧美久久| 亚洲人妻av| 国产成人一级av88| av日韩国产一区二区| 国产精品99精品视频网站| 97香蕉网| 人妻9117c| 国产熟女精品一区二区| 校园春色 欧美| 青青草一区二区高清无码视频| 亚州五月| 免费国产电影一区二区| 激情婷婷| 日韩欧美被操黄免费观看| 色狠狠色| 超碰人人妻| 蜜臀精品1区2区| 日韩二区三四区五区六区在线看| 在线有码中文字幕| 99re8免费高清在线| 啊啊啊草死我| 婷婷国产精品九区| 果冻传媒A片一二三区| 美女毛片999| 天天香香欲综合| 欧美成人国产精品| 免费在线观看AV无码网站| 99爱爱| 爽极品影院| 人妻少妇久久中文字幕一区二区 麻豆| 亚洲色阁| 岛国在线国产| 成人网站 免费观看| 无套内射性感少妇视频| 激情四射婷婷四五月天| 久久av色| 人人九九精| 91天美免费| 久草国产在线视频| 亚洲一区二区 麻豆传媒| 久久三| 久久r精品| 亚洲无码AV九九九| 操逼1区| 久久欧美性爱视频| 天天干美少妇一区| 夜夜操天| 欧美久久人体| 乳欲人妻办公室奶水| 两性综合网| 97中文天堂| 国产精品一区二区后入| 天天干嫩逼网| 中国大陆国产高清AⅤ毛片| 熟女六十路| 自拍盗摄一区| 亚洲天堂2020| 无码国产精品久久久久| 久思思热视频在线观看| 久久99干一本高清| 久草视频制服诱惑| 97摸视频| 男人女人18禁片免费看网站| 超碰色大香蕉| 麻豆人妻少妇在线免费观看| 激情五月天婷婷| 一级一性爱免费视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 中国乱伦一区二区| 好吊色青靑草| 黄色片G G G| 久久久久久欧美精品se一二三四| 亚洲另类小说卡通动漫| 78超碰| 亚洲人91| 91亚洲精品青草| 亚洲成a人片在线观看中文!!!| 另类欧美色| 中文字幕综合人妻| 少妇69中文| 五月丁香在线| 久久鲁干| 欧美日韩中文亚洲v在线综合| 国产乱伦视频污| 国产丁香精品露脸视频| 十八禁黄色成人网站观看| 丁香婷婷大香蕉| 曰韩操B| 久久超碰97| 精品人妻高清麻豆av| 少妇三P| 97超级久久强资源| www.超碰| 不卡免费av在线播放| 国产精品久久久久无码Av网曝门| 欧美性夜| 激情综合亚洲| 中文字幕1区2区| 国产福利小视频高清在线观看| 91麻豆天美国产| 欧美性夜| 97五月天| 色吧5亚洲| 啪啪视频mP4| 嗯啊抽插大香蕉网页| 精品国产三级av韩国在线| 91精品91久久久中77777| 亚洲熟女少妇免费视频| 青青草玖玖爱| 少妇精品久久久八区九区| 精品网站99999| 99蜜桃臀久久久欧美精品网站| 精品人妻伦一二三区久久| 婷婷五月天激情网| 国产自产一区视频在线| 久久一区二区三区入口| 亚洲一区二区三区中文字幕| 黄色AAAAA欧美| 国产亚洲性生活视频播放| 国产最火爆久久国产网站网站| 精品欧美不卡在线播放| 人人操人人93| 日韩中文字幕国产| 色噜噜婷婷| 99久久久久| 婷婷色一区| 1024亚洲中文字幕久在线看片你懂的| 四虎AV无码| 亚洲综合网图| 亚州高清av| 热久久无毒不卡| 欧美小说区视频区| 麻豆91熟妇人妻中文字幕茄子| 男人的天堂一区| 午夜国产成人精品视频| 26uuu国产日韩综合在线观看| 免费看久久久性性| 亚洲色图久久成人| 日本中文字幕一区| 男人的天堂99| 日B操| 在线综合色| 水野优香在线观看| 欧美97日韩| 中文字幕免费看| 中文字幕视频二区| 91亚州| 伊人久久在线视频观看| 农村妇女一级二级三级视频| 亚洲欧洲日产国产综合网| 久久久96精品| 男女啪啪网站免费视频| 成人免费福利在线观看| 亚洲不卡不卡中文字幕不卡| 一区超碰一区| 天天操夜夜嗨| 中文字幕91综合| 后入福利视频| 伊人操你| 亚洲男人天堂2012| 欧美懂色综合网| 偷拍三区| 天天日日日射| 91欧洲国产成人久久精品网站| 色婷婷视频| 日韩免费人妻色情网站| 日本五区不卡| 欧美一区二区日韩三区| 丁香五月天啪啪| 97视频在线视频| 懂色aV一区二区天美传媒| 国产亚州高清国产拍精| 欧美白嫩女HD| 人妻少妇久久中文字幕一区二区 麻豆 | 亚洲黑人在线| 免费综合亚洲中文| 中文久久96| 97日韩欧美| 激情综合五月| 中文字幕av一区二区三区人妻少妇| 一级性爱视频免费观看| 这里只有精品视频| 男女啊啊啊啊啊| 欧洲一级性爱视频在线观看| 亚洲 欧美 日韩另类 麻豆| 人人看欧美性爱| 91艹逼精品| 久久精品国产99精品亚洲蜜... | 蜜臀无码一区二区| 思思热久久成人| 亚洲熟妇丝袜在线观看| 四虎在线观看视频| 久jiu久神马影院| 久久这里只| 亚洲日本韩国在线| 日少妇视频| 丁香激情网| 清纯唯美综合| 欧美综合97www| 日欧操屄| 99黄页网站| 国产精品ⅴ无码大片在线看.| 麻豆精品久久久久久久| 少妇久久久久久| 校园春色综合色| 被窝影院午夜看片无码| 欧美综合网1| 国产精品激情久久久久久久| 欲香欲色综合天天伊人| 91视频观看网站| 日韩 国产 欧美自拍| 久久久穴999| 亚洲精品一二区| 成人天天爽| 婷婷五月天福利| 2017天天拍大香蕉| 欧美婷婷久久| 欧美日韩操逼嗦吊| 九九九精品| 黄色十八禁网站| 麻花传媒免费网站在线观看| 久热精品在线| 青青草伊人久久| 亚洲一本大道中文字幕无码在线| 欧美宗合网| 日韩三级网址| 中文字幕精品区先锋资源| 国产免费久久精品99re韩国| 久久久久9| 久久性爱视频免费看| 97色视频在线| 九九综合色| 强奸乱伦 亚洲一区| 久久久久久久六六| 亚洲欧美天堂在线| 美女被艹尤物视频| 啊啊啊啊操死我| 亚91亚洲网| 手机看片1025| 在线可观看的黄色网址| 国产精品不卡高清在线观看| 色哟哟av网址| AND人妻系列| 偷窥自拍A片| 天天澡天天爽日日AV| 国产精品久久久久久久久久久久久久久久| 大香蕉婷婷| 色哟哟 日韩精品| 神马久久免费电影观看| 九九英色视频| 国产欧美日韩女同性恋ww喷水精品| 一级日本牲交大片好爽在线看| 国产精品香蕉| 国产9熟妇视频网站| 久久精品国产Aⅴ| 久偷拍欧美日韩三区| 色 婷97| 9久综合网| 天天做日日做天天欢。| 午夜福利国产欧美日韩夜夜| 啊啊啊啊啊在线| 久久久神马影院| 啊啊啊啊在线观看网址| 欧美有码激情视频一区二区三区| 深夜激情无码| 簧片免费看视频| 天堂无码精品国产久| 一区二区三区免费视频入口| 91欧美色| 精品丰满熟妇人妻一区| 日本人妻天堂网站在线播放| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 青青草原综合久久大伊人精品| 国产动漫操逼视频| 黑人精品成人一区二区三区 | 国产一区在线观看无码AV| 亚洲色图欧美激情| 日韩国产精品人妻无码久久久| 久久9精品| 精品人妻一区二区三区不卡断| 激情婷婷丁香| 青青草好吊| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久精品| 三级日韩一区二区三区| 国产家庭乱伦表演| 夜夜操美女| 国产家庭乱伦性爱视频| 变态乱伦伪娘灌肠一区二区| 免费看黄视频亚洲网站| 另类小色呦| 伊人久久婷婷| 亚洲精品 大香蕉| 亚洲18禁| 一区二区视频你懂的| 91无码人妻| 亚洲在钱| 亚洲欧美国产精品久久久久久久| 亚洲欧美日韩精品久久久一区二区 | 校园春色 亚洲| 色欲久久99国产精品久久久久久| 精品人妻中文字幕高清| 久久av无码| 国产传媒操逼视频| 欧美精品自慰系列寂寞少妇| 性站| 香蕉av一区二区三区| 亚洲AV在线资源| 大香蕉草草| 欧美成人免费在线观看| 岛国片国产成人亚洲播放| 996热| 91人妻人人妻| 日本不卡三级网在线播放| 婷婷五月天无码| www.人人摸在线视频| 97干在线| 日韩人妻一二三区视频| 99精品在线观看| 午夜久久一区二区无码中出| 天美一区在线| 91久久青青草原精品| 插穴性爱视频在线观看| 婷婷中文字幕| 国产青青美女玩逼视频| 啊啊啊啊免费视频| 国产亚洲精品农村妇女| 中文字幕精品一区二区精品| 色眯眯av| 一级片视频啪啪| 伊人久久婷婷| 少妇第一页| 丰满人妻区一区二区三| 亚洲色图欧美视频| 中国黑人三级片网站上区| 极品人妻少妇综合| 国产综合网站在线播放 | 日本欧美亚洲高清在线看| 麻豆60秒| 亚欧洲一区二区视频| 97亚洲综合| 国产高清无码一区三区二区| 97K超碰在线| 红桃视频高潮| 精品 码产区一区二-1080P高清在线www-B029AV| 色色毛片| 欧美日韩人妻精品系列一区二区三区| 欧美永久激情一区二区| 激情开心五月天| 岛国色情视频在线观看| 久久九色| 88在线一区二区三区| 亚洲精品1区| www.狠狠干.coom| 日韩精品色呦呦| 久久啊啊| 97超碰中文| 欧美老妇女内射网址| 91久久久久久| 亚洲精品国产熟女久久久久久| 久久久555| 五月天人妻综合| 国产传媒一区日韩| 青青草在线成人视频| 九九色影院| 在线小说视频一区| 亚洲中文日韩精品| 91伊人久久在线| 国产精品成人蜜臀AV在线| 超碰538| 国产精品国产自产高清AV| 欧美美女在线高潮999| 色综合V| 日本一天色道久久久精品视频| 国产精品人妻无码久久久互動交流| 99热这里| 日韩无码视频黄色| 日韩不卡码| 日韩性爱免费观看视频| 青青草乱入乱欲视频在线观看| 日本三级A片网站com| 操操操操网黑人| 美国人人操人人操| 日韩欧美~中文字| 色久综合| 久久性爱视频99| 99热精品国产| 精品一区二区综合熟妇| 97资源亚洲| 在线女人91| 久久受www免费人成| 老女人老91妇女老热女| 高清在线偷拍自拍视频| 男人天堂网站| 久久精品人妻一区二区| 久久激情综合| 国产又粗又大硬免费色网视频| 青青操在线亚洲视频观看欧美在线| 无码高清操逼网址| 夜夜做夜夜爽精品视频| 尹人大香蕉视频在线| 亚洲 小说 欧美 激情 另类| 色偷偷人人玩人人舔人人操人人摸人人爽| 久热九九| 亚洲精品尤物yw在线影院| 天天在线91| 亚洲夜色在线| 日韩精品1区2区中文字幕| 超碰色图| 欧美性天天影院| 九九色热| 成人a大片在线观看| 99夜夜操| 黑人精品久久97| 久久久久久人妻| 一级毛片电影免费看| 曰本特级特黄特色黄色A级网站高清在线免费看| 久热99| 午夜无遮挡男女啪啪视频| 综合亚洲欧美| 岛国不卡超碰护士AV在线播放| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 探花精品视频| 中文字幕精品专区搜索结果91| 精品人妻伦一二三区久久| 国产高清在线观看欧美| 久热一区二区| 超碰 欧美| www.高清无码诱惑一区.com | 精品九九九九九九九| 日韩另类| 乱伦av国产| 国产乱伦性爱区| 91老司机视频| 久久99久久99精品天美传媒棢·纸:.| av麻豆啪啪| 久久日韩毛| 色香色欲天天综合网天天来吧 | 日本精品一区三区| 国产亚洲色婷婷久久99精品91葵花宝典| 91精品91久久久久77777俄罗斯老妇姓x| 日夜尻逼网| 日韩欧美资源| 91/欧美| 久草精品热视| 亚洲欧洲小说图片视频 | 99热这里都是精品| 久久偷偷色综合蜜桃| 10000部十八禁看电影| 免费夜夜爱黄色视频毛片| 人人摸人人干人人拍97| 国产中文精品一区二区在线观看| 国产丝袜欧美在线视频| 台湾一区国产高清在线| 中文字幕久久婷婷丁香五月天| 亚洲色人阁| 色综合1991| 超碰碰小说97| 91天天综合在线观看| 日韩少妇在线视频| 九九九精品色乱九九九| 97丝袜亚洲在线播放| 日本蜜桃| 我爱操| 日本高清视频在线观看黄已三辽| 欧美亚洲清纯| 午夜经典| 欧美国产精品久久九九| 成人免费性爱视视| 欧美日韩国产另类综合| 精品一区二区成人| 日韩成人大片在线观看| www色婷婷| 白嫩嫩一区| 99999精品成人| 大香蕉99热| www.男人天堂| 97在线免费视频观看| 综合网欧美| 一级岛国大片| 日本午夜久久电影| 亚洲天堂人妻一区二区| 欧美丝袜激情| 99re这里只有精品2| 蜜臀久久久99久久久久 | 欧洲成人性爱视频| 婷婷亚洲综合| 色呦呦、国产精品| 国产1727欧美| 天天躁日日躁狠狠躁| 免费1级a做爰片观看| 黄色视频特级毛片| 国产伊人自拍| 国模久久在线| 在线日韩日本亚洲国产| 日韩精品 视频一区二区| 亚洲色五月| 成人老鸭窝人人在线视频| 97欧美色资源| 色97干| 大黄片做爱的大的| 久久欧美按摩999| 强奸熟女一区二区三区| 在线不欧美| 久久精品国产亚洲AV片多多| 欧美熟爽综合| 大香蕉日亚洲日本亚大| 私人尤物在线精品不卡| 爽 好舒服 无码刺激久久| 欧美性战999| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 2017天天插| 岛国激情视频在线观看| 亚洲天堂区| 亚州乱码中文字幕综合久久久| 国产午夜精品一区二区三区牛牛| 国产一区二区三区免费视频在性观看| 色婷婷狠狠| 亚洲 综合 第一页| 欧美18老人禁| 志村玲子视频一区二区| 伊人网一本| 北约熟女超碰| 极品丝袜无码| 日韩在线国产字幕| 五月丁香成人网| 东京热99999| 成人aⅴ一区二区三区| 麻豆蜜桃视频在线观看| 欧美日韩制服| 久久国产逼| 免费的av网| 亚洲丝袜综合| 91人妻PORNY九色大屁股| 天天爱综合网| 黑人操一区二区| 一区二区蜜臀| 国产日韩欧美操逼视频| 美女淫穴| 黄色片A级一区二区三区| 久无码| 亚洲熟女综合一区二区| 97在线精品| 久久女人| 一区二区日韩欧美久久| 亚洲资源吧| 色色五月婷| 97超碰超| 伊人影院中文字幕| 午夜性生活av免费在线看| 成人五月香网在线| 亚洲中文字幕久久无码精品| www成人啪啪18秘 免费| 日韩 成人 有码| 天堂а√在线最新版在线| 日本蜜桃| 在线国产探花| 91日韩国产欧美亚洲另类精盘州至城都| 亚洲成av人片色午夜乱码| 欧美宗合网| 一区二区你上我| 日本成a人v网站在线观看| 一级黄碟在线观看| 国产91啪| 91色人| www四虎| 日韩无码视频黄色| 麻豆精品天美| 丁香六月啪| 久久精品—区二区三区内射| 久热伊人99re| 欧美精品日韩久久久九| 综合网97| 日本污ww视频网站| 中文字幕久久婷婷丁香五月天| 久久綜合很很很| 99久久婷婷丁香| 欧美精品激情| 中文字幕亚洲欧美在线不卡| 无码动漫av中文字幕| 亚洲美女黄色| 亚洲18禁| 91网站18| 国产精品毛片| 久操黄色视频| 亚洲福利中文字幕在线| 亚洲开心网| 欧美 日韩 婷婷 五月| 97色干| 俺去啦俺来也久久综合| 精品一区99999| 亚洲熟女乱色| 日韩成人大片在线观看| 91春色| 亚洲第一男人天堂| 国产天天骚| 亚洲女毛多水多21P| 噜噜噜噜天天狠狠| 一区二区亚州激情久婷婷欧美| 国产吹潮女在线观看| 夜夜夜爽www精品视频| 99999久久精| 青青草国产欧美非洲黑人| 100啪啪视频大全| 超碰成人公开| 性爱av网站| 国产欧美一区二区| 大香蕉宅男伊人| AV男人天堂网| 91春色| 精品人妻中文字幕4399| 日本高清有码网址视频| 久都青青视频| 330dv亚洲成年视频网| 91性感网站| 果冻传媒A片麻豆熟妇人妻| 91这里只有精品| 久久久久久久强迫| 久久精品国产96精品亚洲拳交| 99久re热视频精品98| 污到发麻的视频 国产| 亚州综合AⅤ| 精品人妻15区| 日韩人妻制服丝袜av| 99操碰| 日本午夜福利视频| 抽插亚洲无码| 韩国一级婬片A片无码天美 | 午夜精品久久一区二区| 亚洲 自拍偷拍 欧美| 大香蕉亚洲中文| julia中文字幕在线观看| 欧美日韩小说| 国产东北女人在线视频| 95人妻爽爽人人做人人澡| 免费亚洲国产精品久久一区| 人人澡人人干| 国产乱弄免费在线视频。| 亚洲做性| 无码免费在线观看黄色片| 日本网色| 欧美性生活内射| 香蕉视频欧美一卡二卡| 亚洲综合中文字幕有码| 亚洲永久永久永久永久一级一级一级精品 | 欧美亚洲日本视频久久久| 亚洲欧洲视频小说在线观看| 久久久一区二区三区麻豆| 操操逼视频| 67914亚洲精品| 亚洲精品熟妇1区2区3区。| 亚洲免费在线探花| 人妻在线臀日韩| 综合久久2017| 亚洲精品日日夜夜52| 麻豆天美传媒在线视频天堂| 超碰九7| 亚洲精品久久久久久久蜜桃臀| 啊操爽品善一区二区三区| 国产亚洲色婷婷久久99精品91 - 百度| 国产精品免费视频不卡| 性感美女啊啊啊在线| 91丨豆花丨熟女| 性欧美天天| 美日韩男女操屄视频| 麻豆国产尤物AV| 东北女人性交| 日韩av乱伦| 加勒比性爱成人在线| 岛国片国产成人亚洲播放| 九九九九日本 | 欲女人妻性色av| h4610国产人妻| 黄网站黄视频网站进入口| 麻豆三极片| 在线黄页看毛片| 青青草中出视频| 日韩AC| 福利天天都操| 中文字幕成人| 综合欧美色图| 爱av免费| 亚洲欧美综合图片| 色婷婷六月| 亚洲男人天堂AV| 97天天搞在线| 九九九九精品| 97天天综合网| 中文字幕一区二区免费在线| 青青草色插素人| 一起草日韩| 十八禁电影伊人网| 五月丁香啪啪啪| 亚欧美综合网| 9热9热综合网| 91丨豆花丨熟女| 操少妞在线视频| 久9视频| 992大香蕉| 欧美熟女激情| 日本免费中文字幕在线| 蘋果手機免費看成人Av| 精品毛片久久久精品毛片| 后入福利视频| 东京热男人的天堂网| 黄色大片视频在线免费看| 亚洲。日韩。欧美| 大学生口爆吞精| 在线小说视频一区| 日韩偷拍色图| 国产黄色影片在线观看| 国产超碰欧美| 天天影视色香色欲| 91久久免费视频互動交流| 五月天亚洲网| 五月丁香久久| 国产精品亚洲天堂网址| 亚洲自拍青操视频| 欧美综合自拍成人自拍第二十页| a'v在线资源| 欧美国产一区二区三区麻豆传媒| 精品97精品97| 在线情色电影 91大 | 国产日韩区| 免费男人的天堂| 日韩欧美成人大香蕉| 伊人精品久久网站| 丝袜综合网| 日韩精品熟妇| 日韩乱插| 最新av网站在线观看| 色偷偷综合91久久噜噜| 超碰 另类 欧美 | 97se综合网| 性做久久久久久久| 九九九九热只有精品| 亚洲欧美国产中文字幕| 丰满人妻大屁一区二区| 亚洲人体视频在线观看| 夜夜嗨一区二区三区三州加勒比 | 在线人成亚洲视频免费观看| 色哟哟AV| 九九九九九用不成了| 欧美丰满熟妇XXXX性ppX人交| 深爱伊人影院| www.91欧美| 国内91熟女人妻丝袜天天精品视频在线| 亚洲欧洲精品视频发布| 另类天堂| 久久久久ab| 国产精品小视频一区二区三区| 黄色网址在线免费观看| 精品久久久久久无码| 国产精品农村妇女| 久久久久深夜无码| 色婷婷蜜臀av| 水野优香在线观看| 亚洲中文字母在线播放| 国产精品盗摄 偷窥盗摄| 免费国产视频| 97久久久久久久久久| 精品无码一区二区| 91校园春色长篇| 18禁的网站在线| 亚洲一卡二卡在线免费| 97色在线视频| 91精品人妻一品二品三品| 久久骚| 久久久久久久久久久久久久久乱码| 久久久婷| 日本岛国黄色网址| 精品成人av一区二区三区在线| 另类亚洲一区二区三区| 精品国产99999| 国产精品69久久久久久久| 久久久久久波多野吉衣高潮| 欧美熟妇精品黑人巨大一二三区| 日本在线一二| 色婷婷激情| 色色综合网站| 极品尤物在线观看| 韩国一级婬片A片AAAAA| 久久精品国产亚洲AV片多多| 少妇xx精品| 在线国产福利网址导航| 天堂俺去俺来也www久久婷婷| 黄色免费网| 色激情综合网站| 欧美欧美啪啪视频| 天天看夜夜看日日干| 国产午夜在线观看| 天天干人人看综合| 午夜男女爽爽爽影院视频| aa片毛片| 摸奶性爱视频网站在线免费播放| 人人爱人人乐人人操| 超碰免费97| 亚洲黄片免费在线播放| 乱操乱伦AV| 亚洲人妻在线一区| av网页一区二区三区| 无码人妻丰满热妇又大又粗| 91操人| www.伪伪| 欧美亚洲中文字幕| 六月丁香网| 久久色一区| 美欧老女人97| 99re在线视频这里只有精品| 欧美亚洲清纯| 97在线免费看视频| 成人五月天丁香激情综合| 日本色日夜干| 国产福利视频精品视频| 国产 日韩 欧美高清 | 91亚洲黄色网| 狠狠超| 久久精品国产亚洲妲己影视| 精品国产人成在线| 伊人五月天| 久九九九九九九热| 男人网站婷婷| 亚洲黄色AV电影| 日本精品一级二级三级| 亚洲图片激情小说| 亚洲阿v天堂无码z2018| 亚洲综合中文字幕有码| 国产久久一区二区午夜| 美女大乳久久久久久久女人18| 久艹99| 鸥美中出| 一牛影视成人片免费| 爽 好舒服 无码刺激久久| 欧美三级一级| 学生妹天天看| 舔人妻中文免费视频| 12一15性XXXX粉嫩国产| 色yeye成人免费视频| 亚洲日韩一区电影| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 夜夜肏2021| 性爱AV天堂| 青青草中文字幕| 中文字幕乱码人妻二区三区| 色婷亚洲五月在线观看| 夜夜嗨AV蜜臀av| 日韩色图 一区二区| 久96热在线观看视频| A 天堂在线观看视频| 一二三啪啪专区| 蜜臀在线看片| 人人操肉肉| 校园春色 男人天堂 | 91精品丝袜久久久久久| 久草毛片电影怡| 九九九九九九精品| 色在线亚洲视频www| AV 少妇 人妻 偷拍| 黄色人人| 玖玖视频在线资源一区二区三区| 蜜桃中文字日产乱幕4区| 欧美在线亚洲| 天天操夜夜嗨| 97超碰逼| 97精品在线视频| 成人日本视频人妻在线| 一区二区 日韩 欧美 国产 传媒| 麻豆精品.欧美精品.日韩精品.| ,成人免费啪啪视频| 久久精品视频久久久| 日本一二三免费久久| 操逼1区| 老熟女区| 美女被啪到深处抽搐视频| 在线观看日韩av不卡| 欧美论理片| 国产精品高清2021在线| 亚洲天堂 视频你懂的| 鸥美极品| 国产中文大片资源中文字幕| 欧美超碰96| 91亚洲色图| 日韩pv中文| 91色欧美| 亚洲色综合| 乱操9999| 丰满的三级少妇欧美久久久| 是还免费视频1727我| 美国一区二区三区视频| 欧美丝袜激情| 色黄污美女啪啪啪免费网站| 天天操女人| 欧美欧美啪啪视频| 欧美乱色| 99久久久无码国产精品性啊聊| 五月天婷婷激情| 三及片网站| 五月丁香影院| 欧美色性情| 91久久久久免| 亚洲成a人v欧美综合天堂下载| 激情综合五月| 伊人骚琪琪亚洲天堂网站| 夜夜爽33333| 色欲天天综合久久久无码网中文| 超碰79人人乐| 国产免费一区2区3区| 在现视频女上位好爽| 日本东京热久久久电影| 蜜臀亚洲中文| 天天干天天燥| 久久国语| 亚洲精品日日夜夜52| 精品二区久久| 日韩无码嘿咻黑热久| 美女被啪到深处抽搐视频| 美女久久久久久久| 91精品亚洲内射孕妇| 东北女人操比视频| 国产三级中文有码在线视频| 黑人精品欧美一区二区蜜桃| 色婷婷丁香五月天| 中文字幕蜜乳av| 国产AV人人 夜夜人人澡| 韩日性爱av| 精品二区三四区五电影 | 久久久久久九九九九| 无码人妻一区二区一牛影视| 性饥渴少妇av无码毛片| 好屌色综合| 国产激情视频在线观看| 久久久久久久性爱| 美女毛片999| 竹菊影视国产一区二区| 夜夜爽夜夜| 中文字幕91综合| 男人高清无码一区二区| asc国产精品| 91欧美高清| 插穴性爱视频在线观看| 丝袜美腿91| 大香蕉色网| 国产无码一二三区| 日本成熟少妇A∨网站| 欧美 亚洲 综合 制服 另类| 午夜天堂精品久久久久91| 国内亚洲高清无码| 极品少妇久久久久| 美女超碰978| 国产粉嫩蜜臀av一区二区三区 | 国产精品无码av在线| 国产蜜臀在线| 欧美日韩222| 大香蕉啪啪网| 国产亚洲精品A在线观看下载| 日本高清视频在线观看黄已三辽| 你操综合| 5278欧美一区二区三区| 欧美牲| 快播久久人人aV| 青娱乐大香蕉| 久久久999日本大片| 顶级丝袜熟女一区二区三区 | av东京热男人的天堂| 欧美日韩第一页| 亚洲最大成人a毛毛片| 日本一道在线播放高清| 男人的天堂三级| 欧美亚洲涩涩| 老女人爆菊| 人人做人人妻人人夜视频| 国产精品一区二区亚洲人成毛片| 精品久久久一本一道| juliaann丝袜大战黑鬼| 天天日日舔舔| av资源在线播放天堂| 日本操逼二区| 亚州熟女乱伦| 啊啊啊啊啊啊啊啊在线观看| 60秒免费视频| 黄呦呦在线| 亚洲综合五月天| 视频分类 国内精品| 久久久久久日韩| 九九九免费视频| 亚洲Av诱惑| 久久久9 9 9精品| 亚洲熟久久| 国产夜夜操| 日韩三级网址| 东京热亚洲一区二区| 97精品综合| 亚洲AV成人在线| 可以在线观看AV的网站| 超碰成人公开| 欧美综合国产精品久久丁香| 一起草三级AV电影在线观看| 91精品国产91熟女| 大逼色网站| 91美女视频在线免费观看| 欧美高潮在线| 亚洲一本色码中文字幕| 久久久久久中文| 性爱1区| 天天干天天狼在线视频| 国产乱伦亚洲| 午夜视频好爽啊| 激情 欧美 亚洲 小说| 国产中文字幕在线点播| 2017av无码免费无线播| A 天堂| 久久久久久久9999| 欧美性性性| 日日骚AV| 白丝一区| 18禁止看精品中文字幕| 黄片视频观看| 人人操,人人插| 在线观看中文字幕| 12一15性XXXX粉嫩国产| 亚洲av综合伊人久久| 牛牛AV人人夜夜澡人人爽| 国产亚洲深夜激情| 91精品久久久| 操逼不卡中文字幕| 操日韩第| 亚洲精品第一| 亚洲黄色影视| 农村妇女一级二级三级视频| 欧美色偷拍| 麻豆国产av网| 亚洲综合九| 欧美亚洲在线| 九九草| 青青免费在线视频一区 | 综合视频91| 亚州,欧美在线| 四虎影视精品| 永久免费av无码网站国产app| 日本操逼视频在线| 日本一级婬片试看三分钟| 亚洲第一无码播放立川理惠| 亚洲午夜AV| 久久发布国产伦子伦精品| 欧美天天综| 亚洲交换| 亚洲欧美综合| 精品久久久久久中文字幕三区| 日韩激情啪啪| 日韩在线视频1234|