欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

TPC-DS壓測工具編譯安裝全指南:從環(huán)境配置到dsdgen/dsqgen實戰(zhàn)

TPC-DS壓測工具編譯安裝全指南:從環(huán)境配置到dsdgen/dsqgen實戰(zhàn) 如果你打算評估一個數(shù)據(jù)倉庫或者分析型數(shù)據(jù)庫能不能扛住真實業(yè)務那 TPC-DS 基本是繞不開的壓測工具。它不只是一堆 SQL 腳本而是一套完整的決策支持基準規(guī)范模擬零售行業(yè)幾十張表的數(shù)據(jù)模型再加上 99 條非?!暗筱@”的分析型查詢用來檢驗數(shù)據(jù)庫在海量數(shù)據(jù)下的掃描、關(guān)聯(lián)、聚合、窗口計算等綜合能力。但很多人第一次接觸 TPC-DS 時卡住的不是后面的測試而是最前面的編譯安裝。TPC-DS 不像 k6 這類壓測工具下載個二進制就能跑它給的是 C 源碼包使用前必須自己編譯出dsdgen和dsqgen兩個工具這里面的坑其實不少。這篇內(nèi)容我會從“第一次在 Linux 上完整把 TPC-DS 跑起來”這個視角出發(fā)把編譯安裝的前因后果、完整步驟、驗證方法以及我實際踩過的幾個編譯運行問題全部寫清楚。無論你是剛開始研究壓測工具選型還是已經(jīng)被 make 報錯折磨到懷疑人生這篇都有參考價值。1. 先理解TPC-DS壓測工具到底是測什么的1.1 它是一套針對分析型場景的“標準考卷”很多人第一次聽到 TPC-DS 會把它和 TPC-C 混淆。TPC-C 壓的是聯(lián)機交易系統(tǒng)場景是大量短事務、高頻寫入、行級查詢而 TPC-DS 壓的完全是另一類負載數(shù)據(jù)倉庫里的復雜報表分析、多維聚合、ETL 之后的數(shù)據(jù)探索。TPC-DS 的模型來自一個模擬零售商的業(yè)務系統(tǒng)整體上由 24 張表組成其中包含 7 張事實表和 17 張維度表。事實表里存儲的是 store_sales、store_returns、catalog_sales、web_sales 這類大規(guī)模銷售或退貨流水維度表則描述商品、客戶、地區(qū)、時間、促銷渠道等信息。這個模型的最大特點是它故意設(shè)計成了類似真實數(shù)倉的雪花模型或星型模型數(shù)據(jù)表之間有很深的關(guān)聯(lián)路徑字段類型也覆蓋了數(shù)值、字符、時間等常見類型還有大量的 NULL 值、邊界值、數(shù)據(jù)傾斜場景。在查詢負載上TPC-DS 提供了 99 條不同的查詢模板。這些查詢不是簡單SELECT *而是會混合出現(xiàn)多表 JOIN、嵌套子查詢、group by 聚合、窗口函數(shù)、case when 條件分支、日期運算、集合操作等。比如一條查詢可能先從 web_sales 里篩出某個時間段的數(shù)據(jù)再去關(guān)聯(lián) customer 維度、item 維度、promotion 維度最后在多個維度層級上做聚合比較。想跑得準又跑得快數(shù)據(jù)庫的優(yōu)化器、執(zhí)行引擎、統(tǒng)計信息、存儲格式都必須足夠能打。所以我在實際交流時經(jīng)常把它形容成一場“分析型 SQL 的統(tǒng)一考試”TPC-C 相當于測試收銀臺能不能快速處理結(jié)賬TPC-DS 則是在考商業(yè)分析團隊能不能從千萬行流水里快速算出一份經(jīng)營報告。后面如果要給數(shù)據(jù)倉庫、分析型數(shù)據(jù)庫、湖倉引擎做橫向?qū)Ρ萒PC-DS 是一個非常通用的參考基準。1.2 為什么大家都愿意把 TPC-DS 當成壓測標尺判斷一個壓測工具值不值得用主要看三件事場景是否貼近真實、結(jié)果是否可復現(xiàn)、流程是否被行業(yè)認可。TPC-DS 在這三點上做得都比較到位。它有嚴格的規(guī)范去約束數(shù)據(jù)生成方式、查詢執(zhí)行方式、結(jié)果校驗方式尤其是數(shù)據(jù)生成的隨機種子、表的規(guī)模、SQL 參數(shù)替換規(guī)則都有明確要求。這一點很關(guān)鍵。我們在做數(shù)據(jù)庫選型時如果每個人自己隨手寫幾條 SQL 去壓測很難保證兩個數(shù)據(jù)庫跑的是同一套邏輯甚至同一條 SQL 在兩個庫里執(zhí)行計劃都完全不同。而使用 TPC-DS 統(tǒng)一生成的數(shù)據(jù)和查詢至少能做到“大家用的是同一套考卷”誰的成績更好一目了然。另外TPC-DS 是公開標準的測試負載不是某個數(shù)據(jù)庫廠商自己定義的測試工具。所以很多大廠在做技術(shù)分享時提到的“XX數(shù)據(jù)庫 TPC-DS 1TB 性能評測”大家心里會有個基本預期這是規(guī)?;?、復雜查詢、真實數(shù)倉模型下的結(jié)果而不是壓幾條簡單 SQL 給出的數(shù)字。作為用戶我們自己也可以按文檔跑出對應規(guī)模的數(shù)據(jù)驗證廠商成績是否“注水”。1.3 編譯安裝是進入正式壓測之前的“守門員”如果在搜索引擎里搜 TPC-DS大概率會發(fā)現(xiàn)它壓縮包里的代碼形態(tài)離“開箱即用”還有一段距離。TPC-DS 官方發(fā)布的是源碼包里面包含數(shù)據(jù)生成器、查詢生成器和模板文件。我們真正要用的核心可執(zhí)行文件有兩個dsdgen負責按照指定比例因子生成原始數(shù)據(jù)文件。dsqgen負責讀取查詢模板生成帶具體參數(shù)值的 SQL 腳本。這兩個工具都需要先編譯才能在當前 Linux 環(huán)境下運行。原因也很簡單TPC-DS 作為標準測試工具要適配不同操作系統(tǒng)、不同硬件架構(gòu)官方如果只給一個 Linux x86_64 的二進制那 macOS、Windows、ARM 環(huán)境就都用不了。更重要的是C/C 編譯出來的二進制對系統(tǒng)庫和 CPU 指令集非常敏感在一個老版本 glibc 上編譯、拿到新版系統(tǒng)未必能跑反之用太新的環(huán)境編譯再拿回老系統(tǒng)又可能因為缺少符號無法啟動。自己編譯雖然多一步但能保證工具和你當前測試環(huán)境完全匹配。我第一次編譯 TPC-DS 時也覺得這一步很沒必要后來才發(fā)現(xiàn)正因為它的編譯過程“有點原始”才逼著使用者把目錄結(jié)構(gòu)、參數(shù)文件、模板路徑都理解清楚。如果連工具怎么編譯、如何找依賴文件都不清楚后面生成數(shù)據(jù)、替換 SQL 參數(shù)時大概率也會一頭霧水。把這一步啃下來等于把整個 TPC-DS 的使用流程打通了一半。2. 編譯安裝前先解決三個環(huán)境細節(jié)2.1 首選 Linux x86_64但也要關(guān)注發(fā)行版差異TPC-DS 的工具集大部分教程和測試案例都默認在 Linux 上編譯執(zhí)行如果你是在云服務器、物理機或者容器環(huán)境里做數(shù)據(jù)庫壓測建議優(yōu)先選擇 Linux 發(fā)行版。Ubuntu/Debian、CentOS/Rocky、openEuler 這些發(fā)行版本身差異不大關(guān)鍵是能不能裝上編譯工具鏈。我在編譯時用的是一臺 Ubuntu 22.04 x86_64 服務器。為什么要強調(diào) x86_64因為 TPC-DS 的官方 makefile 對平臺有判斷邏輯Linux 下最常見的MACHINE和OS配置都是LINUX。如果你的機器是 ARM 架構(gòu)比如蘋果 M 系列芯片的 Linux 虛機那編譯參數(shù)可能要做額外調(diào)整不能完全照搬網(wǎng)上的命令。如果是在容器或者最小化系統(tǒng)里跑還要注意磁盤空間。TPC-DS 編譯本身占不了多少空間但后面用-SCALE生成數(shù)據(jù)時1GB 的規(guī)模并不是只占 1GB 就結(jié)束了。以 TPC-DS 的零售模型看維度表會膨脹事實表更大加上查詢過程和日志磁盤建議至少預留數(shù)據(jù)規(guī)模 3 倍以上的空間。我第一次在 / 根目錄空間很小的機器上跑生成到一半報 “No space left on device”后來只能重新?lián)Q數(shù)據(jù)目錄相當浪費時間。2.2 提前裝好編譯器、make 和解析器依賴早期 TPC-DS 工具包的編譯過程相對粗糙對新版 GCC 的兼容性并不是每次都理想但基本依賴還是那么幾類C/C 編譯器一般就是gcc和g。make用來解析 Makefile 并執(zhí)行編譯目標。flex和bison用于生成查詢模板解析器相關(guān)代碼。標準庫頭文件和基礎(chǔ)命令比如binutils、unzip。在 Debian/Ubuntu 系列上可以直接安裝全套apt update apt install -y build-essential flex bison在 CentOS/RHEL/Rocky 系列上可以這樣yum install -y gcc gcc-c make flex bison unzip為什么要單獨把 flex 和 bison 列出來因為 TPC-DS 里的dsqgen組件在編譯時可能會涉及模板解析代碼的生成。如果你沒裝這兩個工具執(zhí)行到一半可能會看到y(tǒng)acc或lex相關(guān)的報錯出錯后很多人會誤以為是系統(tǒng)缺了什么大依賴實際只需要補齊這兩個小工具。裝完后重新make clean再make即可。編譯器版本方面太老的 GCC比如 4.x編譯新版 TPC-DS 工具包時可能會遇到 C11 語法不被支持的問題。如果系統(tǒng)自帶的編譯器版本實在太老建議先通過發(fā)行版的軟件源安裝更新的編譯器或者直接在比較新的 Linux 發(fā)行版上編譯。壓測工具本身并不需要多高級的優(yōu)化重點是要保證編譯過程中語法兼容。2.3 源碼包獲取認準官方工具包別拿錯文檔在動手之前要先清楚去“哪里下載”。搜索 TPC-DS 時你會看到官網(wǎng)提供了兩種主要下載物TPC-DS 標準規(guī)范文檔PDF描述測試流程和管理規(guī)則。TPC-DS Tools 工具包zip 壓縮包里面才是數(shù)據(jù)生成器和查詢生成器源碼。我們編譯安裝時需要的是第二個也就是工具包。官網(wǎng)對工具包的下載做了一定訪問控制一般需要按頁面提示填寫信息后獲取下載地址。這個過程很簡單但需要注意別在命令行里直接使用某些臨時地址因為鏈接可能會隨會話過期。建議先用瀏覽器下載到本地確認 zip 包完整后再上傳到服務器或放行到測試環(huán)境。也有不少開源項目把 TPC-DS 的代碼做成了 GitHub 倉庫比如第三方維護的tpcds-kit它們的編譯腳本通常更友好甚至會自動 patch 掉一些官方源碼在 macOS 和 Linux 上的兼容問題。如果你只是想在內(nèi)部環(huán)境快速跑一版數(shù)據(jù)用這類第三方發(fā)行版也完全可以。但如果你要做正式的、可對外引用的性能測試那還是應該用官方發(fā)布包并且記錄好版本號因為不同版本在數(shù)據(jù)分布和查詢模板上存在差異混用版本會導致測試結(jié)果沒有可比性。無論是官方包還是第三方包解壓后第一件事不是急著編譯而是先讀一下 README 或者 docs 目錄下的說明。很多奇怪的問題其實在文檔里都已經(jīng)寫明白了只是大家習慣直接跳過。我在做這類工具安裝時習慣把源碼包頂層目錄列出來先把目錄結(jié)構(gòu)大致過一遍mkdir -p ~/tpc-ds cd ~/tpc-ds unzip TPC-DS_Tools_v3.2.0.zip cd TPC-DS_Tools_v3.2.0 ls -la看到tools、query_templates、specification這類目錄出現(xiàn)后就知道版本沒有拿錯。tools目錄里放著編譯源碼query_templates里放著 SQL 生成模板兩邊后續(xù)都會用到。3. 編譯安裝全流程從 Makefile.suite 到 dsdgen、dsqgen3.1 解壓后的目錄結(jié)構(gòu)與編譯參數(shù)設(shè)計TPC-DS 的源碼目錄結(jié)構(gòu)和很多傳統(tǒng)數(shù)據(jù)庫工具不太一樣它不是執(zhí)行一個./configure就能自動探測系統(tǒng)環(huán)境的而是需要你通過頂部的一個makefile.suite文件告訴編譯系統(tǒng)“我在什么操作系統(tǒng)上跑”。進入解壓后的根目錄通常會看到一個類似makefile.suite的文件它就像整套工具編譯的“總控面板”。tools子目錄下的 Makefile 會去 include 這個總控文件所以你在tools目錄里直接執(zhí)行 make 時真正讀取的編譯參數(shù)可能來自上層目錄。打開makefile.suite后最常見的需要確認的配置項是OS LINUX MACHINE LINUXOS告訴編譯系統(tǒng)當前的操作系統(tǒng)類型MACHINE告訴編譯系統(tǒng)當前的硬件/平臺類型。把這兩項都設(shè)置成LINUX對應 Linux x86_64 是最常見的默認配置。如果某些發(fā)行版默認沒有設(shè)置或者你在 macOS 上編譯就需要根據(jù)你看到的模板改成對應的值。這里我強調(diào)一下一定要檢查不要認為官網(wǎng)發(fā)的包默認就一定能編譯。有些版本默認值寫的是OS LINUX但如果之前有人在同目錄下改過編譯參數(shù)或者 zip 解壓時權(quán)限、換行符出了問題就會導致變量沒被正確識別。最常見的現(xiàn)象是 make 時提示某個平臺相關(guān)內(nèi)容找不到或者把非 Linux 路徑下的庫引入進來。遇到這種問題先回makefile.suite找原因往往比在 makefile 里硬調(diào)更有效。3.2 官方源碼的主目錄結(jié)構(gòu)與編譯入口以 TPC-DS 官方工具包為例解壓后的大致目錄層次是這樣的不同版本可能會略有差別TPC-DS_Tools_v3.2.0/ ├── makefile.suite ├── query_templates/ ├── specification/ ├── ETL/ └── tools/ ├── dsdgen.cpp ├── dsqgen.cpp ├── makefile ├── ...tools目錄是編譯的主戰(zhàn)場。進入該目錄后執(zhí)行make即可觸發(fā)編譯。但我不建議第一次就直接傻乎乎地make因為如果編譯失敗你會看到滿屏的 error 卻不知道從哪看起。比較穩(wěn)妥的做法是先把編譯日志保存下來再快速定位錯誤cd ~/tpc-ds/TPC-DS_Tools_v3.2.0/tools make clean make 21 | tee make.log為什么要make clean因為如果之前有人編譯過、生成了舊的.o目標文件你修改了makefile.suite后這些舊文件可能不會自動全部重建造成一些非常“詭異”的鏈接報錯。執(zhí)行 clean 后再 make可以保證所有源碼都按照新的參數(shù)重新編譯。如果編譯順利你會在tools目錄下看到新增的dsdgen和dsqgen兩個可執(zhí)行文件。有的版本還會生成tpcds.idx等數(shù)據(jù)處理文件這些文件是運行時配套的不要手滑刪掉。3.3 make 過程中的實際輸出怎么看很多人一看到編譯輸出就緊張覺得幾十行 warning 就是有問題。其實 C 編譯里的 warning 很常見像“未使用變量”“隱式類型轉(zhuǎn)換”這類提示一般不影響工具使用。真正需要關(guān)注的是 error 級別的輸出也就是以error:開頭的內(nèi)容。我編譯時發(fā)現(xiàn)如果缺少 bison/flex報錯通常會指向某個.y或.l文件并提示找不到y(tǒng)acc或lex。如果缺少 g會直接提示g: command not found。如果把OS或MACHINE改成了一組不存在的類型make 時則可能提示某個-D宏沒有被定義甚至直接進入一個錯誤的編譯分支??吹竭@些錯誤先對照第 2 節(jié)檢查環(huán)境再回頭檢查 makefile.suite效率會高很多。如果 make 過程中出現(xiàn)了非常長的找不到標準庫頭文件的報錯比如iostream: No such file or directory那基本可以確定編譯工具鏈沒裝全或者當前環(huán)境中 C 標準庫路徑?jīng)]配置好。此時不要盲目去修改源碼先執(zhí)行一下g --version確認 g 真實存在且版本可用再嘗試用包管理器補齊libstdc-dev或g。3.4 編譯產(chǎn)物確認與安裝到統(tǒng)一目錄make 成功后我建議先驗證一下產(chǎn)物能不能正常執(zhí)行cd ~/tpc-ds/TPC-DS_Tools_v3.2.0/tools file dsdgen dsqgen ./dsdgen -helpfile命令能看到可執(zhí)行文件的格式如果是 64 位 ELF說明編譯出來的架構(gòu)沒問題。./dsdgen -help能打印出 dsdgen 支持的所有參數(shù)如果能看到那說明工具已經(jīng)可以運行。很多人編譯完就留在tools目錄里用這樣也沒問題但如果后面還要生成多份數(shù)據(jù)集或者要把工具提供給其他測試同學使用更推薦把工具集中復制到一個獨立目錄比如/opt/tpc-ds/bin或者用戶目錄下的~/tools/tpc-ds/bin。mkdir -p /opt/tpc-ds/bin cp dsdgen dsqgen tpcds.idx /opt/tpc-ds/bin/注意這里我要提醒一句dsdgen運行時不光要靠可執(zhí)行文件還需要tpcds.idx這類分布數(shù)據(jù)文件。如果你只拷貝了dsdgen和dsqgen運行時會提示找不到 DISTRIBUTIONS 文件。把tpcds.idx一起拷過去并把tools目錄里的數(shù)據(jù)文件路徑搞一致會省去很多麻煩??截愅瓿珊罂梢园?opt/tpc-ds/bin加進PATH環(huán)境變量export PATH/opt/tpc-ds/bin:$PATH但注意這樣只是當前終端生效后續(xù)重新登錄會丟。如果希望長期生效可以寫到.bashrc或/etc/profile.d/tpc-ds.sh中。這一步雖然不是編譯本身但對后續(xù)壓測工具使用體驗影響很大。4. 編譯成功不等于能用功能驗證與數(shù)據(jù)生成流程4.1 先跑一個最小規(guī)模的數(shù)據(jù)生成任務工具編譯完自然要實際生成一份測試數(shù)據(jù)驗證一下。TPC-DS 的數(shù)據(jù)生成器dsdgen用一個叫SCALE的參數(shù)控制數(shù)據(jù)規(guī)模SCALE 1表示生成大約 1GB 的原始數(shù)據(jù)。之所以說“大約”是因為 TPC-DS 不是簡單按行數(shù)線性擴展而是按每個表的目標規(guī)模比例放大最終總大小接近 1GB。在執(zhí)行之前先建立一個數(shù)據(jù)輸出目錄例如mkdir -p /tmp/tpcds/data cd /tmp/tpcds/data然后回到tools目錄執(zhí)行cd ~/tpc-ds/TPC-DS_Tools_v3.2.0/tools ./dsdgen -SCALE 1 -DISTRIBUTIONS ./tpcds.idx -DIR /tmp/tpcds/data這里有幾個參數(shù)需要解釋一下-SCALE 1數(shù)據(jù)規(guī)模倍率1 代表約 1GB。-DISTRIBUTIONS ./tpcds.idx指定分布數(shù)據(jù)文件路徑。如果dsdgen和tpcds.idx在同一目錄并且你在當前目錄執(zhí)行也可以省略但建議在腳本里顯式寫清楚避免路徑對不上。-DIR /tmp/tpcds/data數(shù)據(jù)文件輸出目錄。這個命令運行幾分鐘后就能在/tmp/tpcds/data下看到很多.dat結(jié)尾的文件。比如日期表、商品表、銷售表等。用wc -l可以簡單看看每個文件行數(shù)wc -l /tmp/tpcds/data/*.dat | tail -5 head -3 /tmp/tpcds/data/store_sales.datSCALE 1的 store_sales 數(shù)據(jù)行數(shù)一般會在幾十萬到百萬級別總文件看起來不大但對測試流程來說已經(jīng)能跑通全鏈路了。我建議新手第一輪壓測不要一上來就生成 10GB 或 100GB先用 1GB 驗證工具穩(wěn)不穩(wěn)、目錄路徑對不對、文件格式是否符合預期。確認沒問題后再根據(jù)被測數(shù)據(jù)庫的實際容量和對標場景放大規(guī)模。4.2 用 dsqgen 生成真正的壓測 SQL數(shù)據(jù)文件生成只是第一步。TPC-DS 的 99 條 SQL 并不是直接寫死的值而是放在查詢模板里。模板里有各種位置參數(shù)比如日期范圍、類別編號、客戶數(shù)量等需要運行dsqgen解析模板并替換成指定規(guī)模的隨機參數(shù)才能生成可供數(shù)據(jù)庫執(zhí)行的 SQL。生成 SQL 前確認你已經(jīng)進入解壓后的根目錄里的query_templates目錄因為dsqgen需要指定模板文件所在的目錄和模板列表。一個常見命令如下cd ~/tpc-ds/TPC-DS_Tools_v3.2.0/query_templates ../tools/dsqgen -DIRECTORY . \ -INPUT templates.lst \ -DIALECT netezza \ -OUTPUT_DIR /tmp/tpcds/queries先創(chuàng)建好/tmp/tpcds/queries目錄。這里的-DIALECT netezza指的是“生成 SQL 的風格”。TPC-DS 的模板最初是為某一種特定 SQL 方言寫的不同數(shù)據(jù)庫在函數(shù)、類型轉(zhuǎn)換、字符串語法上有細微差異dsqgen會根據(jù) dialect 參數(shù)對模板內(nèi)部的部分語法做替換。如果被測數(shù)據(jù)庫不在官方支持的 dialect 列表里比較通用的辦法是先生成 netezza 風格或直接參考你的數(shù)據(jù)庫官方文檔里推薦使用的 dialect。生成后打開幾個 SQL 文件看看如果里面有特別數(shù)據(jù)庫不支持的函數(shù)可以在導入階段做統(tǒng)一替換或者在執(zhí)行前用文本處理腳本過濾。很多數(shù)據(jù)庫產(chǎn)品比如分析型數(shù)據(jù)倉庫都已經(jīng)兼容 PostgreSQL 或 MySQL 語法你可以按實際支持的語法做少量修正。4.3 如何判斷生成的查詢“能用”dsqgen執(zhí)行完成后會在輸出目錄里生成一個或多個 SQL 文件。不少人看到文件生成就覺得萬事大吉直接把整個 SQL 丟進數(shù)據(jù)庫執(zhí)行結(jié)果跑出來一片報錯。這里我建議執(zhí)行前先做兩層驗證。第一層是看 SQL 的規(guī)模對不對。用文本工具統(tǒng)計一下query_0.sql里包含多少個查詢正常情況應當接近 99 個如果少了要檢查模板列表是否完整。第二層是抽樣執(zhí)行。不要先跑全量而是從生成的文件中挑一個最簡單的查詢比如基于 date_dim、item 這類小表的查詢先單條執(zhí)行。這一步能快速發(fā)現(xiàn) dialect 選擇是否正確、字段名是否和實際表結(jié)構(gòu)匹配。確認單條 SQL 能跑后再逐步增加查詢條數(shù)最后才用并發(fā)或計時腳本跑完整 99 條。不要因為 SQL 是工具生成的就默認它一定能一次通過。4.4 完整的壓測數(shù)據(jù)鏈路長什么樣把數(shù)據(jù)文件和 SQL 文件都準備好后接下來就是壓測工具真正發(fā)揮作用的階段。常見做法是把.dat文件通過數(shù)據(jù)導入工具加載到被測數(shù)據(jù)庫表中表結(jié)構(gòu)和 TPC-DS 模型一致再把 SQL 文件里的查詢依次執(zhí)行或者使用一個外部腳本控制并發(fā)、記錄耗時和正確性結(jié)果。如果你用的是 PostgreSQL 系數(shù)據(jù)庫可以用COPY命令導入.dat文件。如果用的是其他分析型數(shù)據(jù)庫通常也有對應的導入指令或者直接用官方提供的 ETL 腳本把文本文件轉(zhuǎn)換為更適合批量加載的格式。這里有個容易踩的細節(jié).dat文件里字段分隔符是豎線|不是逗號導入時記得指定分隔符否則所有字段會擠到第一列導致建表、校驗全部錯亂。我第一次用 psql 的\copy導入時忘了指定 delimiter結(jié)果生成了一大堆錯誤數(shù)據(jù)排查了很久才發(fā)現(xiàn)是這么低級的問題。5. 編譯安裝和初運行中的常見問題與排查思路5.1 編譯階段的典型報錯對照表安裝 TPC-DS 的過程中編譯階段的報錯是最多的。我把實際見過的情況整理成了表格方便你在遇到類似問題時快速對照。報錯現(xiàn)象大概率原因處理方式g: command not found沒裝 C 編譯器安裝gcc-c或build-essentialmake: command not found沒裝 make安裝makelex/yacc 相關(guān)錯誤缺少 flex/bison安裝flex bison后重新 make clean makeOS/MACHINE 相關(guān)問題makefile.suite 平臺參數(shù)沒配對編譯前檢查并設(shè)置OSLINUX、MACHINELINUXiostream: No such file or directoryg 缺失或 libstdc 開發(fā)包缺失補全編譯工具鏈后重試undefined referencemake clean 沒執(zhí)行舊對象文件殘留執(zhí)行 make clean 后完整重新編譯cannot find -lxxx某些靜態(tài)庫缺失根據(jù)報錯中的庫名搜索安裝對應 dev 包這里想重點說下make clean的價值。TPC-DS 這類老 C 項目依賴關(guān)系和自動依賴生成并不算完善如果你第一次編譯發(fā)現(xiàn)缺了 flex裝好 flex 后直接再 make系統(tǒng)可能只重新編譯部分文件導致“改了環(huán)境但沒生效”的假象。最穩(wěn)妥的做法始終是make clean make5.2 數(shù)據(jù)生成階段的常見報錯對照表編譯通過只是第一步運行dsdgen和dsqgen時也有不少問題同樣整理成速查表報錯現(xiàn)象大概率原因處理方式DISTRIBUTIONS file not found沒指定 tpcds.idx 路徑加-DISTRIBUTIONS /path/tpcds.idx參數(shù)No space left on device數(shù)據(jù)規(guī)模超出磁盤空間清理磁盤或換更大目錄Permission denied輸出目錄無寫權(quán)限檢查目錄權(quán)限或改用有權(quán)限的路徑無法打開輸出文件-DIR指定目錄不存在先 mkdir -p 輸出目錄Segmentation fault (core dumped)內(nèi)存不足或二進制與系統(tǒng)不兼容減小 SCALE確認平臺參數(shù)正確數(shù)據(jù)文件都是空文件dsdgen 當前目錄缺少輔助文件在 tools 目錄下運行或顯式指定 DISTRIBUTIONS關(guān)于內(nèi)存不足導致的段錯誤多說一句。雖然生成數(shù)據(jù)主要吃 CPU 和磁盤但某些向量數(shù)據(jù)和排序過程還是會占用較多內(nèi)存。如果是低配虛擬機比如 2GB 內(nèi)存還跑多個進程并行生成直接崩潰也不奇怪。建議第一輪只用單進程、小 SCALE 驗證然后再考慮并行比如用-PARALLEL 2 -CHILD 1分別開兩個進程。5.3 疑似環(huán)境問題時的系統(tǒng)化排查方法早期使用 TPC-DS 時環(huán)境問題很容易被誤判為代碼問題。比如在某個 Linux 發(fā)行版上編譯通過但換一臺機器執(zhí)行時提示無法加載動態(tài)庫或直接段錯誤多半不是寫錯了命令而是編譯環(huán)境與運行環(huán)境差異太大。遇到這種情況我的排查順序是這樣的先確認執(zhí)行環(huán)境架構(gòu)uname -m排除 ARM 和 x86_64 混淆。再確認當前 shell 的 PATH 和動態(tài)庫搜索路徑echo $PATH、ldd ./dsdgen。查看可執(zhí)行文件依賴了哪些系統(tǒng)庫ldd dsdgen。如果動態(tài)庫缺失優(yōu)先補齊庫文件如果庫版本太低盡量在更干凈或更新的系統(tǒng)上重新編譯一次。在實際排障時ldd是非常好用的工具它能直接告訴你編譯出來的二進制需要哪些.so文件。如果某個庫顯示not found那這個工具拿到其他機器上大概率也會運行失敗。與其到處拷貝缺失庫不如就直接在目標機器或同版本系統(tǒng)上重新編譯這種“土辦法”反而更穩(wěn)。5.4 編譯期間的日志也要學會保存我見過很多同學卡在編譯錯誤上第一反應是把錯誤截個圖下來但看不到上面幾百行里更早的 error。正確做法是在第一次觸發(fā)編譯時就順手把完整日志存下來make 21 | tee /tmp/tpcds_make.log這樣不僅方便你自己搜索報錯點還能在向別人提問時給出完整上下文。日志里有時候能看到多個 error但真正的根因往往是最前面那一個后面的 error 可能只是前面錯誤的連帶反應。比如頭文件找不到后面幾百行未定義標識符的報錯其實都不需要看修復頭文件路徑后它們會一起消失。6. 關(guān)于后續(xù)使用的一些實用建議和踩坑體會把 TPC-DS 編譯安裝這件事說清楚之后我還想聊一些后續(xù)真正做壓測時會用到的經(jīng)驗。很多文章只寫到能生成數(shù)據(jù)就結(jié)束了但實際把工具集成進測試流程后你會遇到比編譯安裝更多的問題。第一優(yōu)先用腳本統(tǒng)一封裝命令不要每次手工敲。TPC-DS 的dsdgen參數(shù)并不復雜但一旦涉及并行生成、多規(guī)模數(shù)據(jù)集手工敲會很容易漏參數(shù)或把不同規(guī)模的數(shù)據(jù)混在同一目錄里。我在實際使用中會為不同 SCALE 值分別建目錄比如data_1/、data_100/、data_1000/然后寫一個簡單的 shell 腳本把數(shù)據(jù)生成和 SQL 生成兩個步驟串起來SCALE${1:-1} mkdir -p /tmp/tpcds/data_$SCALE cd /opt/tpc-ds ./dsdgen -SCALE $SCALE -DISTRIBUTIONS ./tpcds.idx -DIR /tmp/tpcds/data_$SCALE這樣重復跑同一規(guī)模數(shù)據(jù)時只需要改一個變量不容易出線路徑混亂。第二不要光記官方命令不記版本。TPC-DS 不同版本之間生成的模板、表結(jié)構(gòu)、查詢數(shù)量可能都有差異。如果你要對比兩個數(shù)據(jù)庫最好使用同一個版本的工具包和同一規(guī)模的 SCALE否則測試結(jié)論很難讓聽的人信服。第三數(shù)據(jù)生成是可以并行的但并行后文件會被切分成多個分片導入數(shù)據(jù)庫前需要把分片合并或讓數(shù)據(jù)庫并行加載工具識別分片。實際導入時要注意這樣會占用大量 IO建議在目標數(shù)據(jù)庫磁盤壓力較低的時候執(zhí)行避免把壓測環(huán)境搞成 IO 阻塞。我自己在做這套工具時最大的體會是“編譯安裝只是入場券真正難的是把數(shù)據(jù)、查詢、數(shù)據(jù)庫三者的邊界理清楚”。如果你第一次編譯 TPC-DS 時報錯不用慌大部分問題都出在環(huán)境缺依賴或者平臺參數(shù)沒配對。按make clean make、補依賴、查 DISTRIBUTIONS 路徑這條路走下來基本都能過。最后再分享一個小技巧把編譯好的二進制連同tpcds.idx、查詢模板和 templates.lst 整份放到一個單獨的目錄不要每次臨時去解壓包翻。這樣后面不管誰要用只要把這個目錄拷走再配好 PATH 就能直接用。對于長期做數(shù)據(jù)庫壓測的團隊來說這套“干凈的環(huán)境目錄”能節(jié)省很多重復試錯的時間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天操B| 婷婷五月色播| 亚洲一级AV在线免费播放| 天天综合五月| 9999热这里只有精品| 婷婷激情四射五月天| 九九色色网| 婷婷丁香五月激情图片| 天天做天天爱天天搞| A片试看50分钟做受视频| 色五月成人在线| 久久婷婷激情四射五月天| 26uuu最新地址| 色婷婷九月综合| 青青草轻轻操| 婷婷刺激综合| 任我肏视频精品| 色婷五月天| 六月丁AV| 五月丁香六月婷综合成人综合| 任你操精品免费| 亚洲亚洲人成综合网络| 亚洲另类电影| 99热这里只有精品4| 激情欧美五月丁香| 天天天操天天天日| 五月丁香中文字幕| 亚洲aV写真天天综合网久久| 色五月婷婷DVD| 影音先锋噜一噜| 九九精品丁香花| www.久久99| 天天射影院| 五月天综合影院| 五月情四婷婷| 婷婷狠狠五月综合| 丁香婷婷五色月| 激情图片亚洲| 性爱在线播放av| 91人人爽狠狠狠| 婷婷色吧| 亚洲第一成人无码A片| 成人AV片播放| 婷婷不卡基地| 日本在线wwww| 综合性爱网| 久久国产AV| 激情婷婷护士激情| 色色影院黄大片| 亚洲成人AV电影在线| 五月天综合网| 香蕉久日夜| 国产肥白大熟妇BBBB视频| 99在线热| 九九成人| 婷婷五月天国产传媒| 日本欧美成人片AAAA| 大香蕉久久| 99亚洲天堂| 五月天精品| 婷婷五月天堂| 婷婷丁香人妻天天爽| 玖玖午夜视频| 可以看的av| 激情综合网激情五月天| 四川女人毛多水多A片| 26uuu欧美| 五月婷婷激情五月| 久久五月婷天天干| 欧美色碰| 五月久久五月激情| 婷婷六月五月天综合| 婷婷色情小说| 色婷婷婷婷| 伊人婷婷五月天| 久久久久久激情| 五月婷婷综合激情| 丁香婷婷成年| 久操无码| 亚洲bt丁香五月天婷婷激情小说| 狠狠五月激情丁香六月| 亚洲视频在线观看| 五月丁香六月激情综合| 五月天婷婷丁香蜜桃91| 开心五月天激情网| 午夜69成人做爰视频| 99热 日韩| 影音先锋男士资源网一区| 亚洲一区二区无遮挡A片| 玖玖婷婷色五月| 人伦30P| 日本色婷婷| 五月色无码| 久久这里只有精品视频1| 激情五月开心五月丁香五月| 一区二区三区视频| 国产黄色一级片| 欧洲综合视频| 天天综合中文| 99热在线观看| 日本九九九九| 99热精品中文字幕| 久久性爱网| 久久久27操| 婷婷六月丁香在线| 五月天激情综合网| 日本在线播放97| 五月丁香毛片| 激情五婷网| 五月天桃色深爱网| 影音先锋91| 亚洲婷婷开心五月| 丁香六月婷婷综合| 九热久| 成人羞羞啪啪 全 视频| 综合AV在线| 蜜臀综合久草| 婷婷五月免费在线| 无码少妇高潮喷水A片免费| 少妇婷婷五月天| 激情五月婷婷丁香六月| 丁香色成人| 99热在线观看| 色综合爽| 色色色色色色色色综合网| 九月丁香网婷婷| 超碰人人色| 五月好婷婷| 久久xxxx| 色婷婷狠狠干| 激情五月综合亚洲另类| 婷婷色导航| 色偷偷五月天| 91av视频在线观看最新网址| 天天爽天天摸人妻综合网| 99色网站| 久久久久久欧美精品se一二三四| 99精品视频偷拍| 色综合99色| 久久亚洲婷婷综合色五月| 国产精品色色| 超碰电影在线播放| 97香蕉碰碰人妻国产欧美| 久久婷婷五月草视频在线播放| 亚洲激情视频在线观看| 丁香五月香蕉| 亚洲熟女色| 五月婷婷亚洲| 久久精品婷婷五月丁香| 超碰在线观看9| 午夜在线成人网站免费观看| 久久久五月四色| 蜜桃人妻无码AV天堂三区| 99亚洲天堂| 色色色色色色色色五月先| 午夜日韩久久久网站| 99热九九在线| 丁香熟女乱| 丁香五月开心五月激情| 久久婷综合网| 五月综合色| 婷婷丁香五月天影院 | 无码AV久久久久久久久| 日日日影院| 国外亚洲成AV人片在线观看| 天天做天天爱天天做| 国产午夜精品一区二区三区四区| 天天操,夜夜骑| 国产黄色在线观看| 婷婷成人视频| 色婷婷久久综合| 狠狠色狠狠| 色综合丁香| 久久婷婷伊人| 丁香五月综合亚洲| 97操碰在线视频| 美女网黄| 91啪级电影| 国产熟妇乱子伦hd| 97色啪| 任我鲁这里有精品视频| 亚洲精品视频在线| 婷婷五月六月| 丁香五月婷婷婷婷欧美综合| 五月婷婷久草| 五月丁香啪啪综合| 日本五月视频| 丁香五月婷婷六月婷婷| 日韩熟女啪啪视频| 久久综合中文| 天天舔天天摸视频| 99热这里只有精品268| 99性爱视频| 丁香激情六月天婷婷| 国产97在线日韩亚洲女人被黑人巨大| 丁香五月色五月| 玖玖爱伊人| 色情五月婷婷| www.91AV.com| 五月丁香啪| 五月婷婷六月婷| 综合性爱网| 天天色天天操天天射| 狠狠色婷婷丁香六月| 99爱在线| 国产JK精品白丝AV在线观看| 天天综合色丁香| 天天搽天天射| 日韩肏屄网| 久久五月婷| 五月情婷婷| 激情五月婷婷综合| 黄久久久| 99热最新国内| 天天射影院| 五月婷婷丁香六月| 天天插天天| 97狠狠色| 最新日韩久热免费视频看看| 五月停停99| 六月婷婷开心| 91九色丨国产丨爆乳| 婷婷娱乐丁香综合网| 92久久| 五月天丁香久久综合 | 九九热啪啪| 无码视频国内精品久久久| 五月天丁香成人| 这里只有精品99www| 狠狠丁香| 99久热在线精品| 婷婷日本在线| 日韩五月婷婷久久| 男女啪啪视频久 9| 欧美成人AAA片一区国产精品| 成人AV中文字幕| sewuyuejiqingwang| 亚洲小视频免费播放| 婷婷五月天毛片| 婷婷五月天免费99| 丁香五月婷婷国产av| 激情五月婷婷| 九九成人视频| 热九九精品| 色婷婷五月综合在线| 激情婷婷五月天日本系列| 五月天色婷婷激情综合| 丁香六月婷婷久久综合八月| 婷婷激情小说网| 色在线99| 丁香五月婷婷av| 欧美激情伊人| 五月天婷婷色色网| 日韩一级A片黄色| 影音先锋 一区| 丁香色情五月综合激情| 婷婷伊人五月丁香天堂网| 丁香五月婷婷av影院| 99热这里只有精品8| www.久久久.com| 久久hd| www.色婷婷.com| 五月天成人综合| www.com五月天| 九九无码视屏| 色99色| 夜夜撸夜夜骑| 在线观看的av| 最新色色五月天| 91ncm视频| 久久Xx| 激情五月天的婷婷| wWwCom夜操wwW| 五月丁香手机在线| 思思精品久久艹 | 婷婷情色激情| www.99热在线| 午夜丁香婷婷| 国产精品成人网址| 99热性色| 五月天婷婷午夜丁香| 婷婷丁香五月天欧美| 狠狠干五月丁香| 性色99| 玖玖资源站中文| 强伦轩人妻一区二区电影| 99热这里只有精品99| 这里有精品| 任你爽免费视频| 色色五月婷| 亚洲乱码日产精品BD| 五月丁香A片| 久久天堂婷婷五月| 久久婷婷五月国产激情综合片| 六月丁香基地| 99视频| 亚洲九区| 亚洲黄色操逼| 成人五月天综合网| 91午夜激情| 99色干| 嫩草AV久久伊人妇女超级A| 成 人片 黄 色 大 片| 香港九九六区八区99| 九九综合网色全集| 伊人婷婷激情| 五月婷婷中文字幕| 亚洲成人日韩无码精品| 操操操www.com| 精品香蕉99久久久久网站 | 久久xx| caopeng97日韩| 五月婷婷在线视频| 欧美大片免费观看| 欧美精品999| 欧美另类五月激情| 五月丁香啪啪| 五月丁香啪。| 激情丁香五月婷婷啪啪| 综合色色网| 婷婷五月超碰| 色国产五月| 婷婷的色色五月天| 婷婷五月激情视频网| 538在线| 五月综合在线| 丁香婷婷激情四射五月| 亚洲色情激情丁香五月| 激情第四色| av在线不卡播放| 六月婷婷狠狠| 色色色热| 婷婷综合五月| 人人九色| 91人人操| 久久丁香五月| 99热很操老逼| 天天干com| 丁香六月天| 五月香蕉婷婷| 超碰网站在线观看| 色五月婷婷91在线| 婷婷六月视频| 男女啪啪视频久 9| 激情婷婷综合五月少妇| 国产看真人毛片爱做A片| 久久人人九九| 久久资源网五月婷| 99a级片| 亚洲aV写真天天综合网久久| 九九成人电影婷婷| 这里只有精彩视| 久热免费视频| 99热精品网| 五月色婷婷综合| 五月激情射| 婷婷五月天色| 九月av在线| 亚洲狠狠干| 91伦| 色噜噜狠噜噜视频| 99玖玖免费视频| 99热天堂| 久操综合| 婷婷五月成人| 玖玖婷婷五月天| 99久久网站| 亚洲成人网站在线播放| 五月婷婷三级| 六月丁香啪啪| 婷婷伊人久久综合| 蜜桃婷婷狠狠久久综合| 五月婷婷综合久久| 性爱动图国产麻豆一区二区三区| 久操热线| 婷婷综合五月色播| 激情五月婷婷啪啪| 五月天综合网| 欧美色播综合在线观看| 久久六月婷婷| 成人va在线播放| 操九色| 99色综合网| 国产色色在线| 久久5 9视频免费观看| 久久亚洲婷婷| 国产精品美女| 最近韩国日本免费高清观看| 丁香五月冃欧美| 丁香青青五月天| 久久99热这里只频精品6学生| a色婷婷| 亚洲欧洲另类| 激情性五月天免费小说视频| 色婷五月天| 欧美激情综合色综合啪啪五月| 五月天婷婷伊人| 久久区区一二三av| 大香蕉AV在线| 婷婷婷婷婷婷婷婷| 五月综合激情久久| 婷婷久久女人| 天天弄天天操| WWW,五月| 国产另类综合| 99免费在线| 激情五月天开心网丁香无码| 中文久久婷婷| 亚洲国产精品VA在线看黑人| www.婷婷,com| 六月丁香婷婷开心综合基地| 五月丁香综合啪啪| WWW、日本色丁香、co m| 啊V视频在线观看| 丁香五月天精品| 第四色网婷婷| 日本激情综合| 开心五月激情网| 亚洲第一第二网站| 管管補管管紱| 99热精品在线| 久久一品区| 99久久综合| 激情网婷婷五月天| 99日这里只有精品| 激情婷婷亚洲五月| 另类天堂| 香蕉视频91| 射婷婷中文字幕| 五月丁香婷婷久久| 天天操天天操天天操天天操天天操| 99热只有精品在线播放| 99精品久久久久| 精品日本视频444| 99免费在线| 五月婷婷色五月| hd五月婷婷在线| 国产成人综合网| 久久青青日本视频| 婷婷五月激情在线| 97午夜一区二区| 色综合天天综合成人网| 九九性爱网| 日本熟女内射| 九九成人高清视频| 东京热免费视频| 日本久久超碰| 热久91| 欧美色色色| 99自拍视频在线观看| 99热色在线精品| 操99| 狠狠爱激情网| 91九色国产| 五月天婷婷综合免费| 婷婷五月天,影院| 婷婷五月天在线看| 超碰人人干| 五月天婷婷激情网| 天天干天天拍| 97色在线| 亚洲超碰在线| 色欲色香综合网| 97干网站| 激情五月天啪啪| 天天干天天爽天天操| 久色姿源| 亚洲精99| 欧美成人热| 激情q青青草在线婷婷| av在线中文| 日韩精品99久久| 97碰精品| 国产免费一区二区三州老师F1F1……| 日韩操啪| 东北黄色一级| 丁香五月91| 97资源碰碰在线| 日本毛片内射| 成人Av在线大片| 五月丁香另类图片| 国产片天天爽夜夜爽| 久久多色| 天天做天天双| 囯产精品一品二区三区| 天天干天天射综合网| 久久五月综合| 天天色噜| 色综合色色| 99热亚洲| 丁香五月婷婷网| 久久久久婷婷| 91久久精品国产91性色TV| 丁香五月婷婷影视先锋| 涩涩婷婷五月| 丁香五月性爱| 啪啪啪五月天| 色婷婷婷婷五月天| 9l视频自拍9l视频自拍九色学生| 伊人五月天在线| 激情婷婷五月天| 久久99国产综合精品免费| 91婷婷视频| www.AV在线| 色六月婷婷| 五月婷av| 九月激情婷婷丁香| 超级碰碰碰碰视频| 国产VA播放| 丁香久久久| 久久久人妻| 丁香激情久久| 五月婷婷激情啪啪| 97在线碰| 99爱免费在线视频| 中文字幕在线免费观看视频| 国产日产亚系列精品版优势| 超碰国产AV| 免费成人va| 色播丁香婷婷五月激情| 99在线视频资源| 能看的AV| 国产欧美精品AAAAAA片| 婷婷五月天中文字幕| 五月丁香综合激情| 五月天com| 草草视频91| 色狠狠色噜噜AV天堂五区| 色色色五月婷| 久久婷出差欧美色两性综合网| 乱轮A片| 日本色色色| 婷婷激情五月呦呦| 青青.com| 色99热| 五月开心网| 成人资源在线| 亚洲aV写真天天综合网久久| 免费亚洲婷婷| 99久久玖玖| 五月婷综合| 天堂久久大香蕉| 少妇丁香婷婷 | 成人做爰A片免费看视频| 色色五月丁香婷婷综合| 五月丁香网站在线播放| 色婷婷电影网| 97视频.干com| 亚洲情欲| 国产精品A片在线| 色五月无码| 99在线免费观看| 久久婷婷网址| 色婷婷五月天激情综合 | 九九这里有精品| av五月丁香| 色婷婷五月天在线| 欧洲色区| 久久视这里只有精品| 激情另类综合| 日本3级片一区2区| 狠狠色综合精品视频在线| 婷婷丁香红五月91C| 色婷五月婷婷| 我爱大香蕉| 五月丁香花视频| 亚洲热久久| XX色综合| 丁香五月婷婷天| 婷婷五月成人| 五月天婷婷一起草| 99在线精品视频| 色婷婷av在线观看| 91成人视频| 91av视频在线观看最新网址| 五月婷视屏在线观看| Av在线不卡一区| 五月综合影院| 教师性爱毛片| 尔尔AV一区| 色综合播放| 婷婷 月 丁香| 欧美啪啪五月天| 99热这里只有精品2| 丁香婷婷五月激情四射网| 99热久草| 丁香婷婷综合色五月激情国产基地| 先锋资源996| 免费看欧美成人A片无码| 91婷婷丁香五月| www.jiujiujiu| 色综合女人99| 99精品在线观看视频| 99视频35精品视频在线观看| 六月婷久久| 成人五月天丁香| 五月伊人网| 九九热这里只有精品556| 天天肏夜夜肏| VA婷婷亚洲| 激情丁香五月AV| 另类图片五月天| 欧美综合五月丁香六月婷| 看片视频在线免费日产在线看| 婷婷五月天激情网址| 丁香五月天啪啪| m色激情网| 成人免费网站免费看| 丁香五月偷拍| 国产色色网址网站| 玖玖99婷婷| 五月丁香成人视频| 丁香六月婷婷综合激情欧美 | 午夜丁香| 久热无码| 九 九九九AV| 综合网啪| 亚洲综合色丁香五月天| 久久天堂婷婷五月| 色五月在线播放| 就去涩涩丁香五月天| 五月丁香六月婷婷的女人| 91九色国产在线| 五月婷伊人| www.久操| 五月婷av| 另类激情首页| 欧美日韩AAAAA| 三日本无码| 99热这| 色婷婷五月综合网| 六月丁香啪啪啪| 色情终和网| 97啪啪| www,26uuu,c0m,色情| 九九色图| 在线观看欧美3区| 九九aV| 五月色婷婷综合| 天天爱天天做天天日| 99热99思午夜精品| 亚洲另类在线观看| 97热在线精品| 丁香婷婷深情五月亚洲| 26UUU一区二区| 啪啪日本欧美| 99热在线观看| 色婷婷中文在线| 五月婷婷免费看| 丁香五月图片| 日本一级| 九月色婷婷综合| 精品成人无码A片观看香草视频| 国产精品久久久海的味道| 青娱乐美女福利视频美臀| 99资源在线视频| 亚洲偷| 久久人妻视频| 色噜噜婷婷| 色色五月天婷婷丁香| 色5月婷婷| 亚洲VA欧美VA| 色热久资源| 婷婷99视频精品| 玖玖综合玖玖| 99热99| 操精品9| www色色色com| 91超级碰碰碰| 久久精品99久久久久久| 先锋资源婷婷| av在线免费网站 | 99小精品| 99视频地址| 中文字幕在线日亚州9| 婷婷娌伦网| 18久久| 91久久九九| 色婷婷五月综合色婷婷| 99色在线观看视频者| 丁香激情网| 99re6在线视频精品免费| 久久丁香五月| 日本三级日本三级99| 激情综合色| 九九热在线精品视频| 色色激情五月天| 97香蕉碰碰人妻国产欧美| 亚洲综合色色色| 99热精品在线在线| 日本三级中国三级99人妇网站| 天天色视频| 久久亚洲无码| 婷婷色网站| 涩涩五月天| 九九激情网| 荡乳尤物3HP1V5| 六月婷综合| av在线免费播放观看| 色五月亚洲| 日本美女97在线视频| 婷婷五月天VI| 婷婷99狠狠躁天天躁中文| 草草影院爱爱| 婷婷丁香在线| 丁香五月天激情小说| 永久AⅤ1| www.99久| 粉嫩AV久久一区二区三区| 亚洲精品V天堂中文字幕| 极品五月天| 操逼三区| 五月丁香WWW| WWW激情五月天| 毛片毛片毛片毛片| 五月丁香婷婷久久| 成人免费120分钟啪啪| 伊人热在线大香蕉| 97久操视频| 97热视频| 久播影院免费观看电视剧大全最新网| 五月综合在线| 五月丁香网站| 色色色天堂网| 99色在线视频| 激情婷婷五月社区| 色婷婷基地| 99热亚洲| A1片久久| 99久久国产宗和精品1上映| 婷婷婷婷婷婷婷五月丁香| 婷婷操久久| 婷婷丁香六月天| 五月丁香综缴情性爱| 久99久精品视频| 色五月激情综合| 玖玖婷婷色五月| 99热网站| 色色五月天com| 91精品综合久久久久久五月丁香| 天天爱夜夜爽| 久久伊人大香蕉| 婷婷久久影院| 婷婷五月免费在线| 丁香六月啪啪啪| 婷婷丁香五月社区亚洲| 深爱婷婷基地| AA久久| 久久精品凹凸分类| 99久久久| 9久久婷婷国产综合精品性色| 久久久GOGO无码啪啪艺术| 久久久精品AV| 中国激情网| 99精品亚洲| 99啪视频在线观看| 激情五月天开心网丁香无码| 色色婷婷五月| 狠狠综合色网| 五月色丁香视频精品| 久久婷婷精品| 亭亭五月基地在线| 99热在线免费| 日日影院 | 色婷五月婷婷| 一区二区成人电影| 日韩AV免费电影在线播放| 日韩免费乱轮网站| 九九青草热| 精品综合爱| 婷婷无码视频| 伊人99久久| 人人舔人人色人人高潮| 狠狠干夜夜干| 99操视频| 婷婷丁香五月麻豆| 五月婷婷丁香综合| www.日韩国产| 色婷婷88| 天天做天天爱天天爽| 久草婷妨| 天天狠狠干| 久爱综合| www色五月天| 亚洲精品一区中文字幕乱码| 2020久久婷婷五月| 99精品久久| 性爱网久久| 天天综合网在线| 91精品久久久久久| 婷婷爱五月天| 久久精品色| 91久久久久久| 另类色网| 另类视频一区| 激情色中文| 免费黄色视频网址| 狠狠干激情五月| 日本人妻伦在线中文字幕| 精品人妻久久久| 日本精品人妻无码77777| 99久re热| 五月天色不卡| 99爱在线精品视频免费观看| 激情五月深爱五月观看| 久久激情五月| 丁香五月婷婷激情123| 久久精品A片777777| 99色免费视频| 激情综合婷婷久久| 五月丁香六月婷婷激情网| 久久五月激情| 色色国产| 99视频网| 嫩草视频观看| 亚洲激情综合| 五月婷婷综合色啪首页| 欧美日韩中国| 婷婷久久综| 天天日天天添| 九九99精品免费播放| 六月婷婷久久大全| 色欲九区| 综合五月婷婷| 曰日爽日日操| 91激情五月开心| 99精品免费| 可以免费看的av网站| 伊人大香蕉综合在线| 97色婷婷| 丁香婷婷啪啪啪| 日韩黄色网络| 色播播五月天| 婷婷五月激情五月激情| 久综合| 欧美丰满熟妇BBB久久久| 色婷婷五月天天天干天天操天天爽| 国产亚洲成人综合| 五月婷婷五月天| 五月丁香九九九综合| 欧美图片丁香五月天| 亚洲综合五月天婷婷| 亚洲天码视频www蛋播视频| 色婷婷久久综| 色色婷婷综合| 猫咪伊人久久| 26uuu亚洲欧美| 日本系列_4页_777FP| 色色色国产| 激情五月天色婷婷综合| 婷婷五月色图| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色综啪啪网| 91久久九久久九久久九久久九久久| 五月亭亭六月色| 九月色婷婷综合| 久久久婷婷| 99九九综合久久九九| 六月婷婷狠狠做| 性爱综合网| ady狠狠入| 99热九九热| 五月天精品视频| 五月丁香美女| 超碰chaompinm| 97超喷视频在线观看| 中文字幕无码人妻少妇免费视频| 丁香五月色激情| 天天舔天天爽| 欧美va在线观看| 婷婷成人小说综合| 五月丁香日本一抹本| 亚洲综合一区二区| 97碰碰叉| 超碰日韩人妻在线| 亚洲第一综合| 六月丁香五月天| z色五月播播久久| 精品99只有。| 我爱va亚洲va52| 五月婷视频久久| 色热久| 久久久久久18| 变态另类色图| 五月天久久婷| 狠狠婷婷色综合| 色狠狠综合| 精品色| 99爽视频| 久久婷婷啪啪视频| 婷婷爱五月| 狠狠干,狠狠操| 丁香六月无码播放| 久久丁香五月婷| 中文字幕性爱丰满| 99热99这里只有精品| 久久五月丁香综合17C| 五月丁香六月婷婷在线小说视频| 婷婷丁香五月天婷婷| 欧美视频五区| 噜噜噜狠狠色综| 91porn一起草| 丁香六月激情四射| 久久精品99久久久久久| 色狠狠综合网| 色情五月婷| 久久婷.com| 五月天丁香婷| 大香蕉啪啪啪| 九九热超碰| 亚洲激情无码久久| 色色成人網| 伊人丁香花综合影院| 亚洲色域网| 乱色色色| 丁香六月情| 婷婷少妇激情| 五月婷在线观看| 丁香五月天社区| 女人天堂AV| 老美AA片| 99天天操夜夜操| 在线99精品| 日韩综合久| 99热超碰| 人人操Av| 十月丁香九月婷婷综合| 这里只有精品1| 亚洲六月色婷婷| 久久九九热视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 超碰不卡在线| 亚洲思思热久| 深爱网深爱综合网| 国产综合网在线| 色爱综合网| 久久草大香蕉| 思思9久久| 玖玖99精品视频| 翔田千里 50岁 无码| 五丁香激情综合| 久久激情五月网| 婷婷综合视频| 亚洲中文字幕网| 97久久精品视频| 另类国产区| 丁香婷婷免费| 久久视频在线| 色情五月婷婷| 黄色热99| 天天综合网91| 色婷婷成人影片| 五月丁香成人小说| 可以免费观看的AV| 无码人妻一区二区一牛影视| 日亚二欧美| 色情五月天se| 六月丁香五月婷婷| 无码少妇高潮喷水A片免费| 人妻Av在线| 日韩人妻无码一区二区| 五月激情婷婷六月| 狠狠色综合网| 停停六月 综合| 涩五月婷婷| 99se丁香| 99久久久国产大片| 五月激情六月综合| 人妻体体内射精一区二区| 免费观看日韩成人av| 激情的五月婷婷蜜桃| 天天摸天天透天天舔| 欧美丰满熟妇BBB久久久| 性爱激情小说AV五月丁香花| 午夜青草资源| 亚洲AV中文在线| 人妻免费网站| 综合久久综合久久| 五月丁香狠狠| 粉嫩AV久久一区二区三区| 久re热视频| 激情婷婷综合五月少妇| 99re思思热久久| 97碰碰在线观看视频| www.思思99热| 婷婷色在线| 成人毛片在线免费观看| 五月婷婷综合潮喷| 久操热| 中文字幕在线不卡| 久久99热这里只有精品| 婷婷婷婷婷婷婷婷婷婷丁香| 色哟哟精品| 五月婷婷九九热| 久久视频这里有精品99| 国产熟女大叫受不了| 5月丁香婷婷激情网| 大战熟女丰满人妻AV| 色情五月天视频网| 中文AV在线观看| 综合婷| 婷婷五月天另类网站| 中文字幕有多少字| 婷婷激情五月吧| 久久婷婷亚洲| 婷婷趴趴| 丁香五月激情网| 99ri精品在线观看| 六月丁香婷婷在线波多 | 伊人丁香五月| 九九热免费| 色综合com| 免费黄色AV| AV色婷婷| 丁香五月天电影| 亚洲有码在线视频| 九九视频精品在线免费| 欧美性猛交99久久久久99按摩| 久久激情综合| 日韩一级片| 激情综合网五月天天| 亚洲无码色色| 五月丁香婷婷综合在线| 99这里只有精品视频| 色五月婷婷久久| 九九九热精品| 秋霞免费三级片| 亚洲婷婷激情综合激情999精品| 婷婷丁香五月基地| 人妻久久久久久久 | 久久人妻精品| 五月天婷婷香蕉狠狠超碰综合| rr天天操| 色五月激情| www.夜夜| 色色亚洲无码| 欧美特大片黄| 天天天摸夜夜夜玩| 色婷婷丁香AV综合| 久久视频这里99| 2017人人操| 五月婷婷六月丁香色| 97色图片中文字幕视频在线观看| 伊人网碰碰| 亚洲啪视频| 国产美女无遮挡裸体毛片A片| 一个色的综合| 97超喷视频在线观看| 五月婷婷之综合激情| 操操人人| 国产欧美精品AAAAAA片| 婷婷开心激情综合五月天| 久久婷婷大香蕉| 婷婷五月天美女21p| 大香蕉啪啪啪| 99re6在线视频精品免费| 五月婷婷开心亚州在线| 丁香五月手机视频| 色婷婷亚洲精品天天综| 九九视频热| 久久婷婷六月综合| 青青草原亚洲天堂| 337p大胆噜噜噜噜噜91Av| 亚洲性爱区无码区| 丁香五月天狠狠操| 99热色精品| 丁香六月成人| 97碰碰视频在线观看| 91男同视频| 婷婷六月啪啪| 五月天色婷伊人| 国产在线网址1| 丁香五月电影| 可以观看的AV| 亚洲网视屏| 日日操夜夜操不卡| 丝袜激情网| 开心五月丁香啪| 91超级碰在线视频| 国产精品a无线| 色九亚洲| 色必久悠悠影院| 欧美性久| 五月天另类小说| 天天爽天天摸| 蜜桃婷婷五月| 99久久終合| 99在线精品免费视频| 五月丁香五月综合欧美| 99热欧| 六月久久婷婷| 人人色人人弄人人操| 综合婷婷| 怡红院一二三| 激情网站综合五月天| 精品成人在线| 99免费在线| 日本狠狠色| 九色视频这里只有精品| 丁香五月亚洲激情婷婷射| 婷婷色综合网日韩国产| 色99视频| 丁香五月色| www.henhengan| 激情婷婷丁香色情五月天| 色你久久| 亚洲啪啪精品| 香蕉曰比| 六月丁香五月婷婷| 玖玖爱伊人| 五月婷婷在线综合| 精品人妻久久久久久久| 草操AV在线| 91九色大屁股| 综合五月丁香97| 丁香六月婷婷缴情欧美| 色五月av| 天天干天天干天天干| 狠狠爱五月婷婷| 婷婷五月天堂| 深爱激情五月天婷婷网| 开心五月激情站| 成人天天爽| 国产成人在线精品| 五月丁香网站| 国产激情一区| 全部老头和老太XXXXX| 久久小视频| 79精品视频在线观看,| 五月丁香激情综合网| 五月丁香啪啪综合| 狠狠操狠狠操| 深爱激情五月网| 日本欧美国产| 欧美成人精品老美女噜噜噜| 丁香六月爱综合| 噜噜综合网| 婷婷综合网在线| 日本WWW九九九| 人妻视频在线| 九九久久99精品免费观看www| 五月婷婷亚洲色图| 亚洲AV无码一区二| 亚洲 视频 导航 一区| 美国不卡视频| 九九十99视频| 操人精品| 美女黄频aⅴ视频| 97干视频| 五月开心久久| 91超碰在线观看| 激情五月婷婷丁香六月| 色五月首页| 99re思思在线视频| 99热这是里只有精品| 五月天激情婷婷五月天久久| 六月婷婷国产| 色丁香五月综合网| 五月婷婷免费在线视频| 五月丁香色婷婷久久| 99超级碰碰| 日韩1区2区| 91久热| 天天插天天日| 色视频色综合91| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 五月四色婷婷| 五月丁香中文字幕| AA久久| www99热| 熟惀91九色在线| 99热只有这里有精品| AA片在线观看视频在线播放| 操逼电影免费看| 思思久热6| 久操福利| 天天日天天插| 色五月丁香com| 六月色激情| 如何安全看伊人婷婷| 色综合xx| 色香欲综合| 婷婷97碰碰| 99精品视频在线观看| 亚洲人成播放网站| 亚洲AV无码一区二| 狠狠色综合网| 久久99免费视频网站| 99啪啪网| 欧美噜噜免费观看| 开心激情网五月| 99热1| AA片在线观看视频在线播放| 99久精品| 久久这里只有精彩| 成人五月天视频播放| www.色五月| 99热在线观看| 热99精品视频五月| 五月婷婷丁香av| 色激情五月| 在线中文AV| 亚洲视频五区| 甈吧vv| 久热大香蕉| 1024成人免费看| www,色婷婷| 天天舔天天插天天干| 色情久久久| 精品一二三区久久AAA片| 日韩操逼大片| 婷婷丁香五月天亚洲| 97婷婷丁香| 琪琪狠狠干| 久久国产性爱A V| 色5月丁香婷婷| 日韩艹比| 这里有精品99| 丁香婷婷视频在线| 亚洲V国产V欧美V久久久久久| 综合色久| 亚洲AV免费在线| va亚洲中文在线| 涩涩激情五月婷婷| 婷婷综合网在线| 涩涩涩,com| 国产午夜精品一区二区| 少妇水多A片太爽了| 久久九九玖玖| 欧美日韩国产一区| 91se精品国产| 五月开心婷婷极品激情| 日日天天干| 99色综合| 成人电影一区| 婷婷色操| 熟女色色一区二区| www色婷婷久久综合久色| 天天操加勒比| 青青久久91| site:publishdd.com| 久久婷婷视频| 丁香婷婷色色| 五月天婷婷综合免费| 狠狠爱丁香婷| 99久久丝| 人人操97| 丁乡久久| 亚洲激情综合| 99视频综合网| 伍月婷丁香花全集| 丁香婷婷天堂| 欧美日韩大黄| 99色综合| 欧美日韩大黄| 婷婷五月天电影网| 亚洲久热| 夜夜操夜夜操| 久久99这里只有精品| 日韩人妻无码专区| 婷婷无码视频| 99操视频| 六月丁香综合| 欧美日朝成人| 亚洲小视频免费观看| 六月婷婷色综合|