免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

Tracy PHP 性能分析實(shí)戰(zhàn):調(diào)試欄、timer 埋點(diǎn)與日志落地

Tracy PHP 性能分析實(shí)戰(zhàn):調(diào)試欄、timer 埋點(diǎn)與日志落地 簡介Tracy Profiler 中文用戶手冊是一份面向C/C等應(yīng)用開發(fā)者的跨平臺性能分析文檔主要覆蓋CPU與GPU實(shí)時(shí)分析、幀分析、采樣分析、遠(yuǎn)程或嵌入式遙測等場景并突出對目標(biāo)程序性能影響最小化的設(shè)計(jì)目標(biāo)。資源共1個(gè)docx文件壓縮包約1.26MB內(nèi)容按章節(jié)組織手冊共八章、結(jié)構(gòu)完整涵蓋Tracy快速概覽、客戶端初始設(shè)置、代碼插樁、數(shù)據(jù)捕獲與存儲、圖形界面分析、區(qū)域統(tǒng)計(jì)導(dǎo)出為CSV、導(dǎo)入外部性能分析數(shù)據(jù)以及配置文件說明并涉及Visual Studio、Linux、Android、Docker等平臺注意事項(xiàng)與故障排除。同時(shí)對FrameMark、ZoneScoped等關(guān)鍵標(biāo)記用法以及GPU分析Vulkan、D3D、Metal、CUDA、OpenCL等、內(nèi)存分析、鎖、纖程、調(diào)用棧和C API/Python API等高級特性均有較全面完整的中文說明。已有229人瀏覽學(xué)習(xí)適合希望系統(tǒng)掌握Tracy集成方法、快速定位性能瓶頸并優(yōu)化程序表現(xiàn)的開發(fā)者閱讀。1. 用 Tracy 做 PHP 性能分析為什么調(diào)試欄里的數(shù)據(jù)比你自己埋點(diǎn)靠譜排查一個(gè)慢接口最常見的方法是進(jìn)入口文件加幾行 microtime打印完再刪掉如果埋點(diǎn)位置不對整個(gè)流程得重來一遍。Tracy 性能分析要解決的就是這件事在幾乎不改業(yè)務(wù)代碼的前提下讓頁面自帶一份包含耗時(shí)、峰值內(nèi)存、加載文件數(shù)的運(yùn)行報(bào)告順帶把異常和日志也接管過去。網(wǎng)上關(guān)于 Tracy 性能分析的中文資料一直比較零散大多停在安裝步驟這篇直接把落地路徑講透——從 Composer 裝完怎么啟用到用 timer() 做分段埋點(diǎn)、調(diào)哪些參數(shù)再到幾個(gè)真實(shí)踩過的坑。維護(hù) PHP 服務(wù)、排查慢查詢和內(nèi)存尖峰的人照著做基本能省半天時(shí)間。2. 集成與啟用Tracy 性能分析的最小配置與兩種運(yùn)行模式Tracy 是 PHP 生態(tài)里一個(gè)獨(dú)立的調(diào)試與性能分析組件不依賴特定框架Composer 項(xiàng)目可以直接引入。它不像 Xdebug 那樣需要改 php.ini 或者專門跑一輪 profiling而是常駐在入口文件里每請求結(jié)束后收集數(shù)據(jù)并在瀏覽器底部渲染一個(gè)診斷欄。理解它的工作原理后面排查問題會順暢很多。2.1 定位一個(gè)掛在入口文件里的性能與錯誤診斷面板Tracy 的工作方式可以拆成兩個(gè)鉤子。第一個(gè)是錯誤處理器攔截未捕獲的異常和 PHP Notice/Warning按配置決定是渲染藍(lán)屏頁還是寫日志第二個(gè)是 shutdown 回調(diào)在腳本執(zhí)行結(jié)束時(shí)統(tǒng)一收集執(zhí)行時(shí)間、峰值內(nèi)存、加載文件數(shù)并把調(diào)試欄拼到 HTML 尾部。這兩個(gè)鉤子都由Tracy\Debugger::enable()一次性完成注冊。選型上它和另外兩條常見路線有明顯差異。Xdebug 適合做周期性的深度剖析能輸出 cachegrind 文件給 GUI 工具看但開銷大、需要裝擴(kuò)展不適合常開。自己寫 microtime 埋點(diǎn)的問題在于埋點(diǎn)代碼會污染業(yè)務(wù)邏輯測完還得清一遍而且容易漏掉異常路徑。Tracy 把測量邏輯放在業(yè)務(wù)代碼外面錯誤處理和性能數(shù)據(jù)共用一套載體這是它作為常駐診斷工具的核心優(yōu)勢。對于性能分析這個(gè)目標(biāo)你可以把它理解成Tracy 給每個(gè)請求都做了一次輕量級的 profiling結(jié)果直接泡在頁面右下角不需要單獨(dú)跑工具。開發(fā)者模式開了之后連數(shù)據(jù)庫連接數(shù)、Session 內(nèi)容都在同一塊面板里排查慢接口時(shí)信息是聚攏的不用在 IDE、日志、瀏覽器工具之間來回切。2.2 Composer 安裝后的最小啟用代碼先裝依賴再在入口文件頂部啟用composer require tracy/tracy?php // public/index.php 的最頂部業(yè)務(wù)代碼之前 require __DIR__ . /../vendor/autoload.php; use Tracy\Debugger; // 第一個(gè)參數(shù)運(yùn)行模式第二個(gè)參數(shù)日志目錄目錄必須存在且可寫 Debugger::enable(Debugger::Development, __DIR__ . /../log);這段代碼有兩個(gè)關(guān)鍵點(diǎn)。enable()的第一個(gè)參數(shù)是運(yùn)行模式Debugger::Development會打開調(diào)試欄和藍(lán)屏錯誤頁適合本地開發(fā)線上環(huán)境應(yīng)該換成Debugger::Production那個(gè)模式下調(diào)試欄不渲染錯誤只寫日志。第二個(gè)參數(shù)是日志目錄Tracy 捕獲的異常、調(diào)用的Debugger::log()內(nèi)容都會落到這里目錄不存在或不可寫會導(dǎo)致整個(gè)診斷鏈路靜默失效。我一般會在require vendor/autoload.php之后立刻調(diào)enable()再加載業(yè)務(wù)配置。原因很簡單enable()要注冊錯誤處理器放得越早Framework 初始化階段產(chǎn)生的警告才能被它接住。放太晚的話前期錯誤已經(jīng)直接打到頁面上了調(diào)試欄也不會顯示完整信息。2.3 生產(chǎn)環(huán)境只落日志不彈面板白名單與模式切換生產(chǎn)環(huán)境直接開 Development 模式是新手最容易犯的錯誤——調(diào)試欄會暴露請求參數(shù)、Session 內(nèi)容而且頁面底部多一塊渲染邏輯接口耗時(shí)也會被抬高。正確的做法是用環(huán)境變量加可信 IP 雙重判斷?php require __DIR__ . /../vendor/autoload.php; use Tracy\Debugger; $env getenv(APP_ENV) ?: production; $trustedIps [127.0.0.1, ::1, 10.0.0.%]; $remote $_SERVER[REMOTE_ADDR] ?? ; $isTrusted $trustedIps [] || in_array($remote, $trustedIps, true); $mode ($env dev $isTrusted) ? Debugger::Development : Debugger::Production; Debugger::enable($mode, __DIR__ . /../log); Debugger::$email opsexample.com; // 生產(chǎn)模式下的異常通知地址按需配置這里核心邏輯是只有開發(fā)環(huán)境且來自可信 IP 的請求才展示調(diào)試欄其余場景一律按 Production 模式跑。Debugger::$email是可選配置Production 模式下發(fā)生嚴(yán)重錯誤時(shí) Tracy 會往這個(gè)地址發(fā)郵件摘要適合沒有獨(dú)立監(jiān)控系統(tǒng)的團(tuán)隊(duì)先頂著用。注意10.0.0.%這類通配是 Tracy 內(nèi)部支持的前綴匹配如果你不想依賴這套規(guī)則完全可以在$trustedIps數(shù)組里只寫完整 IP再對REMOTE_ADDR做前綴判斷邏輯更直觀。3. 讀取與埋點(diǎn)用調(diào)試欄和 timer() 抓頁面耗時(shí)、內(nèi)存配置啟用后頁面右下角會出現(xiàn)調(diào)試欄。對于性能分析來說調(diào)試欄只是入口真正精確到業(yè)務(wù)環(huán)節(jié)的數(shù)據(jù)要靠手動埋點(diǎn)。這一章先說怎么看默認(rèn)數(shù)據(jù)再講怎么用 timer 做分段計(jì)時(shí)。3.1 調(diào)試欄怎么讀耗時(shí)、峰值內(nèi)存、加載文件數(shù)調(diào)試欄默認(rèn)展示一組關(guān)鍵指標(biāo)當(dāng)前請求的執(zhí)行時(shí)間、峰值內(nèi)存、加載文件數(shù)、PHP 版本以及一個(gè)可以展開的 profile 信息區(qū)。執(zhí)行時(shí)間和峰值內(nèi)存是判斷接口健康度的第一手?jǐn)?shù)據(jù)加載文件數(shù)則能反映 autoload 是否把無關(guān)類也拉進(jìn)來了。讀取的時(shí)候要區(qū)分場景。開發(fā)模式下調(diào)試欄顯示的耗時(shí)包含 Tracy 自身收集和渲染面板的損耗所以它更適合看相對變化改了一段查詢后耗時(shí)從 120ms 降到 80ms這個(gè)趨勢可信但如果你想報(bào)一個(gè)絕對性能指標(biāo)給上級應(yīng)該用 Production 模式加日志來測。另一個(gè)容易忽略的點(diǎn)是調(diào)試欄的耗時(shí)是整個(gè)請求的端到端數(shù)據(jù)它不會告訴你慢在哪這時(shí)就需要手動埋點(diǎn)把耗時(shí)拆開。3.2 用 Tracy\Debugger::timer() 做分段計(jì)時(shí)Debugger::timer()是 Tracy 提供的分段計(jì)時(shí) API。同名計(jì)時(shí)器第一次調(diào)用時(shí)啟動第二次調(diào)用時(shí)返回經(jīng)過的秒數(shù)并自動復(fù)位第三次調(diào)用又開始新一輪計(jì)時(shí)。用這個(gè)名字配對機(jī)制可以把一段請求拆成多個(gè)互不干擾的環(huán)節(jié)?php use Tracy\Debugger; Debugger::enable(Debugger::Development, __DIR__ . /log); // 第一次調(diào)用啟動名為 sql 的計(jì)時(shí)器 Debugger::timer(sql); $rows fetchUsersFromDb(); // 第二次調(diào)用返回耗時(shí)單位秒這里轉(zhuǎn)成毫秒 $sqlMs Debugger::timer(sql); Debugger::timer(render); renderTemplate($rows); $renderMs Debugger::timer(render); // 第三個(gè)參數(shù)是日志優(yōu)先級這里用 perf 方便跟業(yè)務(wù)日志區(qū)分 Debugger::log(sprintf(sql %.2f ms, render %.2f ms, $sqlMs * 1000, $renderMs * 1000), perf);參數(shù)上要注意兩點(diǎn)。第一timer()的返回值是秒浮點(diǎn)數(shù)默認(rèn)會有很多位小數(shù)寫日志時(shí)用sprintf控制格式否則日志文件會很難看。第二日志優(yōu)先級perf不是固定關(guān)鍵字Tracy 會按優(yōu)先級生成對應(yīng)前綴的日志文件比如你寫成perf日志會落到類似log/perf-2025-xx.log的文件里這樣性能日志和異常日志天然分開后處理時(shí) grep 一個(gè)目錄就行。我一般會用業(yè)務(wù)動作名作為timer()的 name比如order.create、export.csv而不是用db、render這種寬泛詞。原因是排查線上慢任務(wù)時(shí)日志里一眼就能看出是哪個(gè)業(yè)務(wù)環(huán)節(jié)慢配合 URI 字段就能定位到具體接口不用再猜。3.3 把耗時(shí)寫進(jìn)日志CLI 與異步任務(wù)里的性能記錄調(diào)試欄依賴瀏覽器渲染CLI 腳本、隊(duì)列進(jìn)程、定時(shí)任務(wù)里它完全派不上用場。這些場景的常見做法是后端直接啟用 Production 模式用Debugger::log()把性能數(shù)據(jù)落盤?php // bin/worker.php 隊(duì)列消費(fèi)腳本 require __DIR__ . /../vendor/autoload.php; use Tracy\Debugger; // CLI 環(huán)境不需要渲染調(diào)試欄直接用 Production 模式日志照常工作 Debugger::enable(Debugger::Production, __DIR__ . /../log); Debugger::timer(batch); processQueueBatch(); $elapsed Debugger::timer(batch); Debugger::log(sprintf( batch done in %.2f s, peak mem %.1f MB, items %d, $elapsed, memory_get_peak_usage(true) / 1048576, $processedCount ), perf);這段代碼把核心性能指標(biāo)拼成一行寫入 perf 日志任務(wù)總耗時(shí)、峰值內(nèi)存、處理?xiàng)l數(shù)。memory_get_peak_usage(true)拿到的是系統(tǒng)分配給 PHP 的真實(shí)峰值內(nèi)存比memory_get_usage()更接近 OOM 風(fēng)險(xiǎn)線。日志級別用perf方便后續(xù)統(tǒng)一收集和分析。我自己的習(xí)慣是在隊(duì)列框架的基類里做一次這樣的埋點(diǎn)而不是在每個(gè)任務(wù)里重復(fù)寫。因?yàn)槿蝿?wù)跑完以后你真正關(guān)心的是有沒有某個(gè)隊(duì)列積壓、某個(gè)處理函數(shù)內(nèi)存泄漏統(tǒng)一埋點(diǎn)能直接產(chǎn)出一份持續(xù)積累的性能數(shù)據(jù)而不是臨時(shí)打幾條日志。4. 必調(diào)參數(shù)maxDepth、maxLength 和 dump 的取舍Tracy 的 dump 功能非常方便但默認(rèn)參數(shù)在真實(shí)業(yè)務(wù)數(shù)據(jù)面前往往不夠用。要么 dump 出來一大片全是省略號要么調(diào)大參數(shù)后頁面直接卡死。這一章把控制轉(zhuǎn)儲深度的參數(shù)講清楚。4.1 三個(gè)控制轉(zhuǎn)儲行為的參數(shù)參數(shù)作用常見開發(fā)值說明Debugger::$maxDepthdump 數(shù)組/對象時(shí)展開的最大層級35值太大會把整個(gè)對象圖遍歷一遍注意循環(huán)引用Debugger::$maxLength單個(gè)字符串最多顯示多少字符3001500超出部分會被截?cái)嗖?biāo)記不影響真實(shí)數(shù)據(jù)Debugger::$maxAttachedLength內(nèi)聯(lián)附件圖片等讀取的最大字節(jié)數(shù)約 50000以你安裝版本為準(zhǔn)一般不用改涉及附件調(diào)試時(shí)才需要動這三個(gè)參數(shù)只影響 dump 的顯示和轉(zhuǎn)儲過程不會改業(yè)務(wù)數(shù)據(jù)本身。maxDepth是性能敏感度最高的一個(gè)Tracy 要把數(shù)組和對象遞歸遍歷并生成可折疊的 HTML深度每加一層工作量可能翻倍。一個(gè)上百層的嵌套結(jié)構(gòu)開滿深度去 dump頁面卡住幾秒鐘很常見。maxLength控制長字符串的截?cái)唷>€上接口返回的 JSON 動輒幾千字符默認(rèn)值可能只夠看到開頭排查響應(yīng)體問題時(shí)需要把它調(diào)大但別一次拉滿。我一般先看截?cái)嚅_頭能不能定位問題不夠再加省得日志刷屏。4.2 dump 大型數(shù)據(jù)時(shí)的內(nèi)存陷阱與參數(shù)設(shè)置排查內(nèi)存泄漏時(shí)很多人喜歡 dump 一個(gè)復(fù)雜對象圖看引用關(guān)系結(jié)果內(nèi)存沒查出來頁面先 OOM 了。合理做法是先限制轉(zhuǎn)儲范圍再觀察結(jié)構(gòu)?php use Tracy\Debugger; // 全局限制轉(zhuǎn)儲兩層就停字符串只顯示開頭 300 字符 Debugger::$maxDepth 2; Debugger::$maxLength 300; $payload $someService-fetchLargeResponse(); // 可能是一個(gè)很大的嵌套數(shù)組/對象 // 先看結(jié)構(gòu)和字段名而不是看全量內(nèi)容 dump($payload);注釋里已經(jīng)說明了邏輯dump()是 Tracy 提供的全局函數(shù)效果和Tracy\Debugger::dump()相同輸出可折疊的 HTML點(diǎn)擊展開子節(jié)點(diǎn)。限制maxDepth 2后你看到的是數(shù)組第一層字段和每個(gè)子項(xiàng)的類型摘要已經(jīng)足夠定位“哪個(gè)字段帶著巨大的數(shù)據(jù)”這類問題而不會把整個(gè)結(jié)構(gòu)全量渲染。如果確實(shí)需要深入看某個(gè)節(jié)點(diǎn)的完整內(nèi)容不要在全局把maxDepth調(diào)到很大而是在轉(zhuǎn)儲前臨時(shí)局部設(shè)置看完立刻改回?php Debugger::$maxDepth 1; dump($payload[items][0]); // 只展開這一層的內(nèi)部 Debugger::$maxDepth 2; // 改回常用值參數(shù)位置放在enable()之后、dump()之前即可Tracy 沒有專門的配置階段運(yùn)行時(shí)改屬性立刻生效這既是優(yōu)點(diǎn)也是坑——埋點(diǎn)代碼記得刪不然別人改代碼時(shí)行為會很詭異。4.3 線上禁用 d()為什么調(diào)試欄拖慢接口d()是dump() die()的組合函數(shù)適合臨時(shí)打斷執(zhí)行流看中間結(jié)果但線上絕不能留。d($x)執(zhí)行到這一行就直接終止請求后面所有邏輯都不跑而且響應(yīng)內(nèi)容也會因?yàn)樘崆爸袛喽兊貌豢捎们岸四玫降目赡苁前雮€(gè) HTML 加一段調(diào)試數(shù)據(jù)。更隱蔽的問題出現(xiàn)在調(diào)試欄本身。即使你只在開發(fā)環(huán)境開了調(diào)試欄它也會在每次請求時(shí)收集 Session、請求參數(shù)、加載文件列表并在頁面底部注入調(diào)試欄的 HTML 和 JS。對生產(chǎn)環(huán)境的壓測來說這個(gè)開銷會直接影響 QPS 數(shù)字所以性能測試環(huán)境我強(qiáng)烈建議用 Production 模式只留日志不要開調(diào)試欄。一個(gè)相對安全的調(diào)試開關(guān)是用環(huán)境變量包一層?php // 只有顯式設(shè)置了 DEBUG_DUMP 才允許 d() 生效 if (!empty($_ENV[DEBUG_DUMP])) { d($payload); }這樣即使代碼不小心發(fā)布上線沒有環(huán)境變量也不會觸發(fā)die()算是一道保險(xiǎn)。團(tuán)隊(duì)里如果有新人習(xí)慣用d()調(diào)試這個(gè)習(xí)慣值得推廣開。5. 落地排查性能分析中的 5 個(gè)典型坑這一章的每條坑都是實(shí)際接入 Tracy 服務(wù)時(shí)踩過的按「現(xiàn)象 → 原因 → 解決」寫方便直接對照。5.1 現(xiàn)象一開了調(diào)試欄接口耗時(shí)翻倍開發(fā)環(huán)境某個(gè)接口原本 80ms啟用調(diào)試欄后變成 160ms。壓測時(shí)更明顯開與不開差了將近兩成。原因在于調(diào)試欄要做數(shù)據(jù)采集和渲染收集 Session、請求參數(shù)、加載文件列表還要在頁面底部注入一段 HTML 和 JS這一步發(fā)生在請求的完全結(jié)束前占的是真實(shí)響應(yīng)時(shí)間。測量工具改變被測系統(tǒng)這是預(yù)期內(nèi)的物理損耗不代表 Tracy 有嚴(yán)重 bug。解決時(shí)先想清楚數(shù)據(jù)用途看趨勢、優(yōu)化邏輯就用開發(fā)模式出報(bào)告、壓測必須切到 Production 模式靠日志測。另外把maxDepth、maxLength調(diào)到夠用即可越小的轉(zhuǎn)儲范圍意味著越少的額外開銷。5.2 現(xiàn)象二CLI 腳本里看不到任何性能數(shù)據(jù)在 cron 腳本里enable(Debugger::Development)后頁面完全沒有調(diào)試欄輸出腳本本身也沒報(bào)錯以為 Tracy 集成失敗了。原因不難理解調(diào)試欄的渲染依賴瀏覽器請求的 HTML 輸出CLI 進(jìn)程沒有這個(gè)概念enable()即便成功注冊了錯誤處理器也沒地方渲染調(diào)試欄。解決方法是 CLI 任務(wù)統(tǒng)一用日志載體。我在隊(duì)列消費(fèi)腳本里只保留Debugger::enable(Debugger::Production, $logDir)然后對核心環(huán)節(jié)調(diào)Debugger::timer()配合Debugger::log()日志文件就是可視化數(shù)據(jù)源。后續(xù)要分析時(shí)寫幾行腳本把 perf 日志聚合一下比任何面板都好用。5.3 現(xiàn)象三藍(lán)屏頁白屏日志目錄沒權(quán)限配置好 Tracy 后打開一個(gè)錯誤頁面沒有出現(xiàn)藍(lán)屏錯誤頁而是白屏log 目錄也空。原因通常是日志目錄不存在或 php-fpm 運(yùn)行用戶沒有寫權(quán)限。Tracy 在無法寫日志時(shí)會放棄渲染錯誤頁避免把異常信息二次暴露所以表現(xiàn)成白屏而不是報(bào)錯。解決分兩步先確認(rèn)目錄存在且可寫再在enable()前做一次檢查避免靜默失敗。一個(gè)簡單的前置檢查?php $logDir __DIR__ . /../log; if (!is_dir($logDir) !mkdir($logDir, 0775, true)) { fwrite(STDERR, log directory is not writable: $logDir\n); exit(1); } Debugger::enable(Debugger::Development, $logDir);注意 php-fpm 進(jìn)程和命令行用戶經(jīng)常不是同一個(gè)本地 CLI 能寫不代表 web 用戶能寫部署后最好手動訪問一次錯誤頁面驗(yàn)證。5.4 現(xiàn)象四dump 大數(shù)組內(nèi)存暴增甚至 OOM為了看清某個(gè)接口返回的完整結(jié)構(gòu)把maxDepth調(diào)到 10然后dump($payload)頁面直接卡死或報(bào)內(nèi)存耗盡。原因有兩個(gè)深層遍歷成本隨深度指數(shù)增長循環(huán)引用會讓遍歷出現(xiàn)更多重復(fù)路徑。解決方法是前面提到的控制轉(zhuǎn)儲范圍先低深度看結(jié)構(gòu)再局部深入另外如果只是想看某個(gè)字段的完整值直接存日志看原始數(shù)據(jù)比 dump 更省。真的需要 dump 大型結(jié)果集時(shí)先array_map截取一部分字段重建數(shù)組再交給 dump開銷會小很多。5.5 現(xiàn)象五timer() 拿到的耗時(shí)和預(yù)期不符外層計(jì)時(shí)器返回 0ms或者某個(gè)分段耗時(shí)明顯偏小。原因是對timer()同名配對機(jī)制理解不透同名計(jì)時(shí)器第二次調(diào)用會返回耗時(shí)并復(fù)位第三次調(diào)用又是新一輪計(jì)時(shí)如果外層內(nèi)層用了同一個(gè) name內(nèi)層先返回復(fù)位外層拿到的就是從復(fù)位點(diǎn)到外層結(jié)束的一小段等于白測。解決方法是每個(gè)分段分配唯一 name或者干脆用閉包封裝避免手寫配對的低級錯誤?php function profile_call(string $name, callable $fn): float { Debugger::timer($name); $fn(); return Debugger::timer($name); } $dbMs profile_call(profile.db, fn() queryDb()) * 1000;封裝后的profile_call名字自帶業(yè)務(wù)含義返回值直接就是這段邏輯的耗時(shí)沒有配對和復(fù)位的理解成本適合在內(nèi)部工具函數(shù)里統(tǒng)一調(diào)用。6. 進(jìn)階把 Tracy 調(diào)試欄擴(kuò)展成團(tuán)隊(duì)自己的性能基線與慢請求歸檔默認(rèn)調(diào)試欄展示的是總耗時(shí)和總內(nèi)存業(yè)務(wù)上更需要看的往往是數(shù)據(jù)庫、外部 HTTP、Redis 各自花了多少。Tracy 提供了面板接口可以自定義標(biāo)簽頁掛到調(diào)試欄上。6.1 自定義 IBarPanel把數(shù)據(jù)庫耗時(shí)單獨(dú)掛到調(diào)試欄實(shí)現(xiàn)Tracy\IBarPanel接口getTab()顯示在調(diào)試欄上的短標(biāo)題getPanel()返回點(diǎn)擊后展開的 HTML 內(nèi)容?php use Tracy\IBarPanel; use Tracy\Debugger; class DbPanel implements IBarPanel { private array $events []; public function add(string $sql, float $seconds): void { $this-events[] [$sql, $seconds]; } public function getTab(): string { $total array_sum(array_column($this-events, 1)); return sprintf(DB %.1f ms, $total * 1000); } public function getPanel(): string { $html table stylefont: 12px/1.5 monospace;border-collapse:collapse; foreach ($this-events as [$sql, $seconds]) { $html . sprintf( trtd stylepadding:2px 8px%.2f ms/tdtd%s/td/tr, $seconds * 1000, htmlspecialchars($sql, ENT_QUOTES) ); } return $html . /table; } } $dbPanel new DbPanel(); // 必須在 enable() 之后注冊 Debugger::getBar()-addPanel($dbPanel); // 業(yè)務(wù)查詢處埋點(diǎn) $t Debugger::timer(sql:user); $pdo-query($query); $dbPanel-add($query, Debugger::timer(sql:user));getTab()里的array_sum(array_column(...))把本次請求所有 SQL 耗時(shí)匯總調(diào)試欄直接顯示總耗面板展開則能看到每條 SQL 的獨(dú)立耗時(shí)。注意getPanel()返回的 HTML 里拼接了外部輸入的 SQL 語句必須用htmlspecialchars轉(zhuǎn)義否則 SQL 里帶個(gè)尖括號就能破壞面板布局這屬于基礎(chǔ)安全習(xí)慣。注冊面板要在enable()之后調(diào)用容器初始化階段放這就行。6.2 請求結(jié)束自動寫性能基線 JSONL調(diào)試欄適合開發(fā)期點(diǎn)著看真正要發(fā)現(xiàn)“接口從 80ms 漲到 160ms”這種回歸靠的是持續(xù)的性能基線。用register_shutdown_function在每次請求結(jié)束時(shí)把關(guān)鍵指標(biāo)追加到 JSONL 文件?php register_shutdown_function(function (): void { $row [ time date(DATE_ATOM), uri $_SERVER[REQUEST_URI] ?? cli, duration_s Debugger::timer() ?: 0, peak_mb memory_get_peak_usage(true) / 1048576, ]; file_put_contents( __DIR__ . /../log/perf-baseline.jsonl, json_encode($row) . \n, FILE_APPEND | LOCK_EX ); });每次請求一行 JSON累積一段時(shí)間后就能做分位數(shù)統(tǒng)計(jì)找出哪些接口的耗時(shí)在緩慢惡化。Debugger::timer()不傳參數(shù)時(shí)用的是默認(rèn)計(jì)時(shí)器從enable()之后就開始計(jì)到請求結(jié)束時(shí)正好是總耗時(shí)。LOCK_EX防止并發(fā)寫時(shí)候文件交錯。這套思路從 Tracy 的性能分析延展成了團(tuán)隊(duì)自己的性能基線開發(fā)期看調(diào)試欄測試期跑幾輪壓測看 JSONL上線后配合定時(shí)任務(wù)每天算一次 p95比臨時(shí)抓包定位快得多。我自己早期做性能優(yōu)化時(shí)總習(xí)慣把maxDepth拉到很大去看對象圖結(jié)果在一次壓測里調(diào)試欄的采集損耗讓 QPS 掉了接近兩成才真正明白 Tracy 的性能數(shù)據(jù)要區(qū)分“給人看”和“給機(jī)器存”兩條路徑——前者用調(diào)試欄后者用日志。希望這套落地路徑能幫你少走這段彎路直接把 Tracy 的性能分析用起來。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷色成人| 激情四射婷婷| 五月丁香六月婷婷成人电影| 五月丁香激情综合啪| 香蕉久久国产AV一区二区| 欧美韩日AAA网站| 伊人久久丁香五月91| 亚城区在线| 久久久久久99精品无码| 日本综合99| 色婷婷亚洲六月婷婷中文字幕| 五月婷婷色播| 色情五月天首页| 狠狠色狠狠色综合日日91| 91婷婷色| 亭亭五月丁香五月天激情| 六月婷色| 91岛国片| 开心五月婷婷伊人| 成人做爰高潮A片免费视频| 丁香五月六月欧美| 操操操www.com| 婷婷六月成人| 亚洲182在线观看| 九九色热| 亚洲愉拍99热成人精品| 欧洲色| 六月婷婷综合| 99色免费| 97狠狠碰| 超碰99热在线观看| 九九伦子片| 日本在线va| 婷婷色播六月无码| 人妻操逼| 性婷婷| 天天综合91入口| 色婷婷婷综合五月天| 丁香五月伊人| 九九久久玖玖爱| 色99网| 五月婷婷综合久久| 亚洲综合色色色| 日本特黄aaaaa| 久久草大香蕉| 蜜乳9188| 五月婷婷久久开心网| 丁香 久久| 亚洲无码影音| 99re视频在线精品| 色婷婷人人| 午夜69成人做爰视频| 久久激情综合| 五月婷婷激情五月| 可以免费观看的AV| 五月天免费色| 五月天欧美 另类小说| WWW.99热| 综合激情五月四射婷婷| 久久天天天| www.五月婷婷.com| 久去色色| 五月花婷婷最新| 午夜理论片最新午夜理论剧| 色五月婷婷大| 婷激情五月| site:picc-up.com| 久久久久久久合一狠狠做深爱| 五月情婷婷五月| 亚洲成人网站在线播放| 五月丁香999| 狠狠综合色网| 东京热免费视频| 五月婷婷色播| 99婷婷五月天| 激情www.98com| www.日韩艹| www.爱操com.| 天天干com| 最新日韩AV中文字幕| 精品一二三区久久AAA片| 无码AV免费精品一区二区三区 | 69五月天视频| 婷婷五月婷婷五月| 五月天激情综合| 伊人玖玖网| 亚洲AV综合在线观看| 亚洲性图一区二区| 六月婷婷色综合| 天天干,天天日| 久久这里只精品| 无码动漫av| 激情AV在线| 成人在线视频网| 激情AV| 欧亚成人A片一区二区| 色色色色综合网| 青草青草视频2免费观看| 激情5月婷婷| 久久婷婷五月综合色天| 九九热只有这里精品| 婷婷天天舔| av网站中文| 激情综合五月天| 色热久| 99热在线只有精品| 色99xx| 99热热这里只精品996小说| 大香蕉伊人爱在线| 久久婷婷亚洲| 婷婷五月六月| 久久久99精品免费观看| 久久久18| 天天做好综合色| 超碰91人人操| 婷婷丁香婷婷97| 久久精品婷婷| www天天色天天射| 五月丁香综合啪啪| 欧美特大片黄| 九九热这里有精品视频| 五月丁香六月婷婷色情| 国产成人AV不卡| 激情婷| 人妻久久久久| 人妻AV在线观看| 日日噜噜夜夜狠狠久久丁香五月| 九月婷婷综合在线| 东北婷婷五月天| 九九99热| 最新久久99视频网站| 久久视网36| AAAA网站| 丁香五月停停av| 婷婷久久亚洲| 色无码| 狠狠精品干练久久久无码中文字幕| 99热 在线播放| www.五月天性.com| 亚洲AV免费在线| 伊人玖玖网| 国产六月婷婷| 丁香五月影院| 色五月无码| 亚洲va成人va成人va在线观看| 五月日韩中文字幕| 天天舔天天| 综合婷婷久久| 色婷婷综合久久久久| 五月停停激情网| 亚洲日韩一页精品发布| 久久色五月天| 美女五月天| 婷婷五月,偷窥偷拍网| 色婷婷六月精品| 成人片在线播放| 色yeye欧美| 麻豆123区| 丁香婷婷啪啪| 夜夜骑日日操| 国产乱子轮XXX农村| 久久人人看| 久久99热这里只频精品6学生| 婷婷伊人久久无码色五月| 激情五月深爱五月| 欧美成人精品A片免费一区99| www激情| 丁香婷婷情色五月天| 99热人人艹| www,五月天激情| 久久大香蕉丁香| 人人玩人人橾| 亚洲精品久久久无码| www色色com| 婷婷激情社区| 日韩在线视频中文字幕| 天天操天天曰| 五月天色综合服务平台| 国内9l视频自拍老熟女九色| 五月天天久久香| 久久五月天免费网站| 99热这里只有精品青草| 综合久久9| 九九婷婷网五月天| 最新久久网址| 亚洲欧洲中文日韩久久AV乱码| 色婷婷婷av| 婷婷99狠狠| 久久99热这里只有精品首| 玖玖资源在线视频| 79色色免费| 亚洲AV成人在线观看| 激情五月婷婷色播网| 色99久草在线| 色综合大香蕉| 538久久| 久久免费高| 亚亚州久久高潮| 啪啪操超碰| 五月婷婷三级| 五月丁香淫淫婷婷婷| 五月天婷婷色色网| 情欲禁地| 久青操| 六月丁香啪| 色色婷婷综合| 九九综合| 天天爽综合网| 蜜臀A∨在线水帘洞| 九九日伊人| 婷婷五月天啪啪| 9精品视频在线观看| 五月婷婷激情五月| 五月色天情| 丁香 久久| 九色视频91| 天天操夜夜爱| 9+1视频网址| 色九九中文字幕| 日韩在线视频中文字幕| 欧日韩AV| 五月激情网站| 中文字幕婷婷在线| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 日日噜噜夜夜狠狠久久丁香六月| 99这里只有精品在线| 色欲久久久久久综合网综合网| 五月激情六月综合| 伊人啪啪网| 丁香五月 综合| 婷婷亚洲久久| 九九爱激情| 久久久久er热| av久热| 激情综合5月| 中字幕视频在线永久在线观看免费| 婷婷天堂综合| av大片在线| 久久人人九| 婷婷丁香一月| 丁香婷婷九月| 九九九午夜视频| 九九99久久| 久久精品五月天| 五月丁香激情婷婷综合字幕| 丁香六月婷婷综情欧美| 97精品综合久久| www.久操| 色级婷婷| 97碰操| 丰满少妇猛烈A片免费看观看| 少妇人妻人伦A片| 夜夜操天天爽| 影音先锋 婷婷| 九九黄色网| 五月天婷婷色色首页| 成熟妇人A片免费看网站 | 精品99在线观看| 五月丁香啪啪综合网| 97久久视频| 91精品综合久久婷婷九色| 九九色插| 午夜福利成人AV91| 色五月自偷自拍婷婷婷婷| 嫩模草| 99免费视频| 天天干天天操天天拍| 婷婷五月综合啪| 夜丁香五月婷婷| 亚洲无码成人性爰网| 五月婷婷六月丁香激情深爱| 丁香五月激情六月欧亚激情综合导航| 丁香五月综合高清在线| 日本的α片xxxwww| 久久久人妻久久久| 五月丁香狠狠爱婷婷综合| 五月天婷婷久久日| 欧美亚洲操逼| 欧美啄木乌丝袜人妻系列| 伊人五月人妻精品| 国产婷婷五月天| 丁香五月婷婷成人网| 五月永久激情| 狠狠操狠狠操| 中文av网| 激情婷婷六月天| 26uuu最新地址| 97福利视频| 九九aV| 国产精产国品一二三在观看 | 亚洲婷婷激情综合激情999精品| 97超碰99热99| 久久色区| 26uu| 色欲午夜无码久久久久久张津瑜| 婷婷六月丁| 噜噜在线| 亚洲成人av在线观看| 久久亭亭电影| 综合丁香婷婷五月天| 91 原创 在线 九色| 91碰在线| 久久婷婷五月综合色播| 五月丁香亭亭| 精国产品一区二区三区A片| 熟女少妇内射日韩亚洲| 99热99思午夜精品| 五月丁香婷婷福利| 四月丁香五月婷婷久久| 六月激情综合| 五月色激情综合网| 人人人操Av| 热99热| 五月婷视屏在线观看| 热99免费在线| 超碰亚洲欧美| 天天玩天天摸| 五月精品| 狠狠插.com| 五月丁香好婷婷A片网| 久久综合婷婷| 色色五月天婷婷丁香| 可以直接看的av| 天天狠狠综合精区| 日日干五月天婷婷| 丁香五月婷婷在线| 国产精产国品一二三在观看| h亚洲| 久久久er热| 婷婷五月天日本无码| 亚洲中文字幕AV| 免费观看全黄做爰的视频| 久久婷婷人人| 色综合综合色| 99久久婷婷国产综合精品草原| 美女视频图片久久91| 五月总合激情网| 六月五月婷婷| 99久久综合| 丁香五月综合久久| 天天射天天射一道本日本社区| 91婷色| 成人无码髙潮喷水A片| 在线网黄| 日韩在线观看亚洲| 五月天堂六月丁香亚州中文字幕久久 | 美女伊人久久| 久久九九视频| 狠狠干五月| 激情综合5月| 色噜噜狠狠色综合日日| 99热色综合| 97色五月天| 99视频久久| 亚洲色五月婷婷| 五月花成人网| 日日干夜夜干| 亚洲激情图文小说| 国产日韩欧美性爱| 五月六月婷婷激情网| 激情啪啪五月| 九九热婷婷| 天天爽天天摸| 狠狠综合| 密臀久久| 中国丰满熟女A片免费观| 亚洲精久久| 思思99热| 91九色在线视频| 婷婷99狠狠躁| 久久精品系列| 天天拍天天操| 婷婷六月激情| caop在线视频| 中文字幕黄色片| 99精品久久久| 五月婷婷黄色| 六月天婷婷| 亚洲情色一区| 婷婷色五月激情| 亚洲中文字幕av| 丁香激情五月| 日韩 中文 欧美| 色噜噜狠噜噜视频| 五月婷色色| 色婷婷五月视频| 五月婷九月| 夜夜操天天干| 婷婷99视频精品| 色婷婷久久久| 五月情丁香色| 久久天堂女人| 丁香五月激情五月开心五月| 冬月かえでAV无码播放| 色区久久| 99re热久久| JlZZJlZZ8JlZZ亚洲熟女| 五月九九综合| 六月婷婷视频| 亚洲AV日韩无码| 久久曰曰| 久久99热 这里有精品| 国产在线aaa片一区二区99| 九九成人高清视频| 第四色色六月色综合| 婷婷五月激情视频| 久草 天堂| 激情五月六月婷婷| 色丁香五月综合网| 91玖玖| 丁香五月婷婷网| 激情 婷婷 插| 97婷婷丁香| 天天插天天射| 天天做 天天爱| 久久一级免费黄色片| 永久免费一区二区三区| 久久一热免费视频| 九九中文色色| 久久久久9999| 天天擼久久擼在线| 女性自慰系列第五页| 五月丁香花成人社区| 99re这里| 欧美天天干五月丁香| 欲求不满的人妻| 亚洲天堂99| 婷婷5月开心6月| 九九综合图片网| 色色色综合网| 超碰人人操人人9| 色五月大香蕉| 天天爽天天干| 日本成人噜噜噜噜噜| 国产婷婷五月| 婷婷丁香社区| 91精品婷婷国产综合久久| 天天干天天日天天插| 日本99视频精品免费播放| 五月丁香天堂网| 色色哒五月婷婷六月丁香| 欧美久热| 色色色婷婷| 中文激情网| 综合激情视频| 激情网婷婷婷| 激情合网婷婷| 无码九九| 婷婷五月天激情网| 日本色色网站| 久久国产AV| 九热视频| 欧美激情综合色综合啪啪五月| 丁香五月婷婷色| 777影视理论片大全在线观看| 国产美女视频久| site:feetmall.com| 天天噜天天插| 丁香五月综合| 五月天操逼网| 色欲影香| 婷五月天丁香婷五月| 荫道BBWBBB高潮潮喷| 91精品综合久久久久久五月丁香| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 激情五月婷| 91女人18毛片水多国产| 老师的粉嫩小又紧水又多A片视频| 九九99九九99偷拍视频免费看| 国产成人网址| 五月婷精品| 女人高潮内射99精品| 九热视频| 大香蕉综合在线| 久久婷婷丁香| 色综合天堂| 色色色色色色网| 婷婷色丁香六月| 久热这里只有精品66| 丁香五月激情婷婷视频| 97自拍视频在线| 99热99干| 99综合自拍| 色情婷婷。| 色五月综合网站| 婷婷丁香人妻天天| 五月婷婷之美女图片| 性爱电影科技贸易有限公司| 五月综合激情图片| 五月婷婷,六月激情| 色五月久久成人婷婷| 色五月天.con| caopeng97日韩| 国产日批视频| 久久婷婷五月国产色综合激情| av九九| 欧美精品999| 久久婷婷六月| 操逼123网| 色五月丁香总合网| 久久深爱激情网| 丁香五月欧美色综合| 激情综合色婷婷啪啪六月天| 九九热这里| 色五月婷婷影院| 激情亚洲网| 五月激情天| 一本大道嫩草AV无码专区| 五月开心播播网| 久久R激情| 在线免费观看激情视频| 成人电影AV在线观看| 成人综合AV| 久久久久久久丁香五月天婷婷| 精a品a视a频| 色婷婷欧美在线| 狠狠干综合网| 五月色网| 我淫我色婷婷五月天激情四射| 96色婷婷| 色综合婷婷| 丁香五月狠狠综合欧美| 丁五月激情视频免费| 淫视馆AV在线| 丰满少妇猛烈A片免费看观看| 99超级碰免费视频| 亚洲激情六月| 婷婷色在线| 日日操日日爽| 免费AV播放| 欧美日韩91| 五月天大香焦| 天天草人人摸| 韩国婷婷丁香五月| 日本片日本片祼观看网站在线看中文版网页在线看 | 99这里只有精品|v| 伊人青涩网| 激情五月天久久丁香| 久久这里有精品99| www.9797国产| 伊人狼人干| 激情综合网五月婷婷| 丁香综合网| 99热国产免费| 国产免费av在线| 69精品人人人人| 日本五月天一页| 色丁香五月婷婷| 99久久終合| 天干天天干天天天天天| 五月婷精品| 九九艹女| 欧美激情 日韩无码 婷婷 五月天| 天天干天天干天天干天天干天| 婷婷激情六月| 琪琪色热色色| 99热免| 五月天色丁香| 99精品在线观看视频| 五月婷婷伊人久久| 激情网五月天| 婷婷综合一二三| 色欲资源网| 欧美精品999| 久久五月天视频| 色丁香影院| 久久小说| 国产日韩欧美性生活| 色你久久| 九九99热| www热久久yy9| Caop在线| 天天色官网| 538在线精品| 99热欧美在线观看| 丁香六月五月天| 丁香五月天激情网| 玖玖色综合色| 五月婷婷在线观看| 香蕉99网| 午夜婷婷六月天| AA片在线观看视频在线播放 | 色婷婷a v| 五月婷婷精品视频| 噜噜色com| 久久久久久久久久久久久久久久久精典| 亚洲婷婷丁香五月天激情小说 | 色激情综合狠狠婷婷| 伊人五月天在线| 丁香五月性爱| 伊人五月天| 99色这里| 久久在线视频免费观看| 五月丁香综合伦理片| 性做久久久久久久免费看| 婷婷五月欧美综合| 天天色中文字幕女优AV| 啪到高潮激情丁香五月| 六月五月天婷婷涩播在线| 婷婷五月天激情AV影院| 婷婷六月天| 五月婷婷日| 99色在线| 婷婷涩涩网| 欧美性猛交99久久久久99按摩| 五月色婷婷影视在线电影| 97色色网| 久久久久久久久久人妻| 久久精品凹凸分类| 色综合激情| 婷婷五月色图| 99热这里是精品| 五月香蕉婷婷| 激情婷婷五月综合| 原琪琪色影院| 男人天堂亚洲综合| www.久99| 色色五月婷婷久久| 亚洲 激情 中文| 91人妻九色大屁股| 丁香六月亭亭久久综合| 五月色丁香| 开心激情站| 夜夜夜夜操| 六月丁香天堂| 色五月成人| 久久性爱视频久久性爱视频| 综合视频久久| 日韩人妻白浆视频系列| 影音先锋四区| 狠狠操.COM| 九九 激情 网| 久99999热视频在线观看免费| 色爱亚洲| 新久久五月天激情| 五月丁香视频色色| 开心五月激情网| 日本va欧美va国产激情| A片天天| 超碰在线综合| 99这里有精品视频3| 中文字幕 中文字幕明步| 五月丁香成人视频| 包操45分钟网站| 五月婷婷亚洲综合在线 | 五月婷婷日| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 4438成人电影| 九九色婷婷五月天| 91婷婷搞| 青青五月天婷婷| 婷婷99狠狠躁天天| 成人在线不卡| 开心五月婷婷五月| 色婷婷狠狠| 丁香五月婷婷啪| 99re在线观看| 五月天伊人手机在线播放AV| 人妻激情视频| 玖玖婷婷综合| 在线资源av-超碰中文在线-成人AV| www.婷婷五月| 9九色首页| 五月天色网站| 99re这里只有精品免费| 国产91视频| 操逼电影免费看| 99色色网| 久久婷婷成人综合色怡春院| 99爱视频免费看| 婷婷六月综合在线| 超碰av在线| 9热在线观看| 丁香婷婷婷| 99国产精品久久久久久久久久久| 久久婷综合| 色偷偷五月天| 五月丁香拍拍激情综合| 婷婷爱在线观看| 99热加勒比| 色哟哟性爱av| 99ri在线| 99热 在线观看| 久久香蕉影院| 欧美成人精品A片免费一区99| 五月丁香| 婷婷五月天 丁香五月天 裸体| 色综合久久久无码中文字幕999| 九九成人电影婷婷| 99热日本精品| 在线中文av| 怕怕av| 婷婷五月天激情综合网| 五月天综合在线观看视频| 伊人久久大香线蕉av一区| 色情五月综合婷婷| 欧美黑人巨大性生话| 久久婷综| 久色激情| 婷婷五月开心中文字幕色| 严洲天天插| 丁香五月社区| 丁香五月激情婷婷| 影音先锋91视频| 九热精品| 五月丁香AV、伊人业余、性色熟妇| 五月婷婷婷婷婷| 无套内射极品大美女| 99色婷婷| 五月丁香亭亭A片| 丁香婷婷色色| 激情亚洲色图片丁香综合| 婷婷五月草| 依人大香蕉| 五月天丁香啪啪网| 伊人久久大香线蕉av最新| 夜夜嗨一区二区三区直播内容 | 亚洲精品字幕在线观看| 亚洲精品中文字幕成人片| 五月丁香啪| 丁香五月激情综合啪啪| 先锋资源91| 国产毛片精品一区二区色欲黄A片| 色偷偷人人| 五月丁婷香| 婷婷色正月| 囯产精品久久欠久久久久久九大| 天天视频精品9| 色噜噜狠狠色综| 99久久6| 亚洲激情久久| 五月天婷婷香蕉狠狠超碰综合| 插插网爽妇五月丁香| 超碰97免费在线| 超碰在线免费观看日韩| 日韩精品999| 99九九精品视频| 亚洲精品亚洲人成人网| 中文字幕欧美久久| 伊人五月丁香| 日本精品久久久久中文字幕| 99欧州偷拍视频| 精品,99| 99热超碰| 婷婷在线播放av| 亚洲精品色| 婷婷五月天av小说| 五月综亚洲| 色五月在线观看| 男人天堂 久久| 天天摸日日舔狠狠添婷婷婷| 色婷婷激情| 九九热啪啪| 久久久噜噜噜久久人妻| 男女av免费看| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 久久这里都是精品| 啪啪综合| 欧洲一区二区| 99人人操人人操人人精| 五月婷婷综合在线视频小说| 伊人婷婷99热精品| 99视频精品8| 五月天婷婷色播综合在线| 日本丁香五月| 狠狠干五月天婷婷网| 在线网黄| 无码啪啪| 91狠狠综合久久久久久| 色婷婷丁香| 337p大胆噜噜噜噜噜91Av| 免费国产视频| 九色视频91疯狂| 国产精品操| 婷婷五月电影| 99热这里只有精品1025| www.五月婷婷久久.com| 色婷婷免费视频| 激情床戏| www色色com| 天天狠天天叉| 激情小说五月丁香在线视频观看视频| 激情综合一| 欧美狠狠草| 欧美色五月| 婷婷美女精品视频| 精品亚洲国产成AV人片传媒| 天天舔天天插天天干| 大香伊人久色| 激情六月日韩| 91视频五月丁香| 91久久1118| 欧美五月丁香啪啪响视频| 99热18| 五月婷高清视频| 色综合久久久无码中文字幕999| 婷婷五月天在婷| 91精品视频男人的天堂| 天天综合五月| 五月婷婷激情综合在线| 96精品成人无码A片观看金桔| 亚洲性爱日韩无码| 天天肏天天肏| 99人妻碰碰碰久久久久禁片| www.色99| 久久AV电影| 午夜日日| 亚洲成人五月天| 五月天激情婷婷五月天久久| 丁香五月天社区婷婷| 成人丁香五月天Av| 婷婷五月综合婷婷| 国产九月婷婷| www.99热在线观看| 五月婷婷久久综合| 色97啪啪| 亚洲综合五月| 99视频网| 99热超碰| 亚洲天堂碰碰婷婷| 日日爽日日| 五月天婷婷黄色| 色天堂在线| 99热国品| 伊人网碰碰| 婷婷色香六月综合激情| 五月天婷婷丁香花| 91性高潮久久久久久久久| 婷婷五月天论坛| 8区视频在线| 国产91资源在线| 久久激情五月婷婷| 色婷婷亚洲在线| 日本美女上人| 丁香婷婷五月香蕉91| 狠狠久久婷五月| 99精品7| 五月婷婷激情综合| 色噜婷婷| 99网| 亚洲欧美综合7777色婷婷| 婷婷综合六| 婷婷五月丁香基地在线视频官网| 日本波多野结衣视频| 婷婷开心激情| 九月色婷婷综合| 亚洲色vA| 99人这里只有精品| 日本三级中国三级99| 日韩啪啪视品| www.久久99| 婷婷五月丁香啪啪| 夜夜综合色| 婷婷五月天亚洲天堂| 色情五月综合婷婷| www.无码com| 色域五月丁香| 日本熟妇乱妇熟色A片蜜桃| 色婷婷九月| 日本在线va| 五月天夜夜爱夜夜操| 婷婷五月成年人| 亚洲网视屏| 99热在线资源| 五月天久久激情| 日韩熟女啪啪视频| 免费观看全黄做爰的视频| 五月天精品视频| 日本视频99| 这里只有精彩视频| 激情五月视频在线婷婷| 久久婷婷亚洲五月天| 精品一区二区三区四区五区六区介绍| 人人97碰| 久久久欧美精品sm网站| 婷婷五月丁香A∨| 久久成人亚洲欧美电影| 国产高清av黄色看片| 99国产精品白浆在线观看免费| 99自拍视频| 欧美色色色色色色色| 免费视频无码| 色色国产| 综合色影| 色综合久久88色综合天天99| www.9797国产| 久久综合影院| 影视av久久久噜噜噜噜噜三级| 激情五月色婷婷| 丁香五月天色婷婷| 久久色亭亭五月天| 91九色精品| 一区二区乱码视频| 色五月婷婷av| 大香蕉AV在线| 开心激情站| 久久99热这里只频精品6学生| 久热免费| 国产毛多水多女人A片| 丰满少妇猛烈A片免费看观看 | 狠狠色丁婷婷日日,伊人激情综合网| 丁香色五月婷婷17C| 五月天六月丁香| 五月丁香狠狠爱婷婷综合| 久久机热这里只有| 婷婷丁香色情| 五月婷婷婷丁香播| 婷婷丁香久久| 五月综合久久| 国模狼狼| 婷婷激情综合色五月久久图片| 狠狠干在线| 婷婷五月天久久久| 五月丁香亭亭成人电影| 天天射夜夜骑| 丁香五月天堂网| 亚洲第一黄网| 色色99| 欧美,日韩成人在线| 99精品视频推荐| 色婷视频| 丁香五月激情澎湃一区| 玖玖热视频| 丁香五月婷婷色| 少妇性按摩无码中文A片| 亚洲AV日韩在线观看| 色婷婷在线影院| 91欧美| 天天爱天天做天天爽| 色综合色色| 久久综合人妻| 日韩熟女啪啪视频| 五月婷中文字幕| 日日日,com| 日韩欧美一级大黄网站| 丁香五月欧美成人| 久草热8精品视频在线观看| 91日综合欧美| 婷婷丁香六月五月天| 婷婷亚洲色| a在线观看| 色婷婷综合久久| 色婷婷久久天天性爱| 日韩一区二区三区无码| 六月丁香网| 激情综合五月婷婷| 婷婷自拍| 亚洲激情高潮| 婷婷久久丁香五月| 国产婷伊人| 色色激情网| 婷婷丁香五月天中文字幕| 91精品丝袜久久久久久| 丁香五月开心七月| www.久久爱| 婷婷五月色情天| 激情深爱五月天| 97超碰在线免费观看| 日韩激情人伦人| 另类激情五月| 日本玖玖在线| 五月婷婷就去色| 婷婷色九月| 91成人看| 一二三区视频韩国| 人人干av| 9精品视频在线| 五区毛片七区毛片| 激情丁香五月| 欧美久久网| 99热亚洲精品| 狠狠精品干练久久久无码中文字幕| 色热久| 色五月激情五月开心五月| 六月婷婷毛片| 热的国产,热的综合,热的有码| 久青操| 91热久| 日逼免费视频| 性做爰1一7伦| 热99精品视频在线观看| 日本系列_4页_777FP| 热99.com婷婷| 综合久久五月| 夜精品无码A片一区二区蜜桃| 亚洲综合99| 久草a片| 色色婷婷婷丁香五月天| 亚洲 五月 婷婷 成人| 荡乳尤物3HP1V5| 、激情六月天| 五月婷婷黄色| 在线视频99| 爽天天天天天天天| 国内在线99视频| 亚洲最大五月六月丁香婷婷| 亚洲电影在线观看| 婷婷在线五月天观看| 99免费在线视频| 丁香五月婷婷久久综合激情网| 秋霞A V毛片| 欧美三级黄色片久久| 激情五月天偷拍综合网| 婷婷色基地在线看 | 激情五月丁香社区| 色色激情五月| 五月丁香网站| 女婷久久| 国产成人网| 天天狠狠夜夜狠狠2023| 5月激情天| 99无码视频| 国产Va视频| 无人区码一码二码三码医生系列| 五月熟妇婷婷久久| 精品久久久久成人码免费动漫| 五月激情久久综合| 91性交在线播放| 婷婷丁香五月亚洲综合网在线视频观看| http://www.com久久久精品一区| 婷婷六月激情丁香| 丁香六月婷婷激情| 五月亭亭直播| 五月婷在线影院| 五月丁香亚洲综合| 99精品色色| 丁香婷婷欧美综合| 五月激情婷婷丁香| 综合狠狠干| 亚洲精品大片| 五月天六月天| 嫩草视频。| 97色女人在线| 六月丁香婷婷视频综合在线观看| 色99视频| 这里只精品热在线18| 亚洲婷婷丁香五月| 亚洲99综合| 99久久黄色顶级视频| 大香伊人久色| 日日夜夜天天| 五月综合视频在线| 91无码一起草| 婷婷内射视频在线| 蜘蛛女免费观看完整版高清电影| 人妻第九页| www热久久yy9| 五月丁香激情五月天| 9九九久久精品无码专区| 变态另类9| 97人妻碰碰中文无码久热丝袜| 天天综合永久| 在线观看亚洲视频影院| 国产亚洲99久久精品| 26uuu另类亚洲欧美日本一| 婷婷99狠狠躁天天躁中文| 亚洲综合另类| 久久人妻www| 99热超碰在线| 五月丁香久久激情综合| 91人人网| 六月丁香五月激情网| 欧美色碰| 精品夜夜澡人妻无码AV| 99精品在线观看| 五月 丁香 欧美| 六月婷婷青青青视频| 五月丁香激情啪啪| 日本色五月| 激情五月综合色婷婷| 五月久久网| 91无码一区人妻A片蜜| www.91.com黄| 激情久久综合网| 欧美A级网站| 操逼综合网| 狠狠狠狠狠| 欧美色色色色色色| 人人干AV| 天天日日夜夜爽| 欧美碰碰| 成人精品视频99在线观看免费| 婷婷情色五月天| 日本激情五月天‘| 丁香六月婷婷缴情欧美| 色婷婷情片| 丁香五月之久操视频| 99热这里只| 久久久27操| 婷婷激情六月天视频| 亚洲另类婷婷五月丁香在线播放| 99热全是精品| 精品一区久热| 久久香蕉网| 99热婷婷| 五月婷婷丁香| 色久激情在线| 激情纯色婷婷五月天在线不卡视频| 91久久| 色五月婷婷五月天激情综合| 91夫妻网站九色| 婷婷色综合| 九九热在线视频观看| 天堂网啪啪| 激情五月婷婷丁香| 五月综合色播播丁香婷婷| 天天色爽| 丁香五月天色| 五月六月播婷婷| 99自拍网| 丁香久久综合| 丁香密臀AV激情网| 超级97碰碰| 97涩婷婷| 在线观看视频1区| 人人插操| 影音先锋自拍网| 农村熟妇高潮精品A片| 狠狠狠狠狠| 五月婷婷视频啪啪美女| 人人爱操| 综合久久婷婷| 婷婷伊人中文字幕| 激情综合无码| 秋霞性爱AV| 亚洲天堂热| 91狠狠色| 天天日天天舔天天摸| 日韩色色网| 婷婷丁香77777| 久久6这里只有精品| 日日操夜夜操狠狠操| 五月天六月丁香| 婷婷日| 五月天婷婷伊人| 色丁香久久久| 79色色色色| 丁香婷婷六月男男| 超碰操日| 青草热视频这里只有精品| 国产寻花在线| 婷婷五月天熟妇| 中国激情网| 97色色色色色| 久久久27操| 91色婷婷综合久久中文字幕二区| 久久99精品九九久久久婷婷| 婷婷综合在线| 99成人| 国产婷婷婷| 久久一级免费黄色片| 日本精品干| 亚洲欧美成人在线| 午夜色色色极品视频| 丁香久久五月天视频在线观看| 色欲五月婷婷| 99这里热| 五月丁香777| 亚洲精品字幕| 性爱五月婷| 久操福利| 日本在线视频手机播放五月婷| 色婷五月天网站| 日日天天干| 69精品人人人人| 成人做爰A片免费看网站找不到了| av操B网站| 啪啪婷婷五月天激情| 玖玖伦理电影| 67194中文在线| 9久操| 操操啪| 丁香婷婷色五月天| av在线中文| 亚州美女| 最新AV在线观看| 天天骑日日爽| 久久性爱视频这里只有精品| 九热免费视频| 国产AV国片偷人妻麻豆| 色婷婷五月影视| 亚洲人成网亚洲欧洲无码久久| 互月天综合| 99久在线视频| 一区二区成人电影免费播放| 伊人色综合久久久| 五月丁香激情综合网官网| 五月天婷婷在线播放| 婷婷香五月天| #NAME?| 天天人人综合| 夜夜躁爽日| 激情小说五月天| 狠狠色丁香婷婷| 亚洲欧洲色色| 日本色色网站| 日本黄色一级| 无码人妻电影| 99热这里只有免费| 日本色婷婷| 99re免费在线视频| 亚洲色欲AAAAAA| 色色五月丁香婷婷| 色色综合网。| 天天综合激情| 狠狠爱五月婷婷| 精品久9| caopeng超碰| 91人人操人人爱| 久久丁香综合精品综合| 久热只有这里有精品| 五月婷婷视频在线观看| 无码少妇高潮喷水A片免费| 大香蕉婷婷五月| 成年人看Va免费视频| 亚洲精品一区中文字幕乱码| 成人综合视频在线| 丁香九月婷婷色| 亚洲国产无线乱码在线观看| 日韩久久色| 综合婷婷都市激情| 日本三级第一页| 婷婷五月情色| 狠狠干夜夜干| 色五月婷婷综合在线| 啪啪六月婷婷| 五月丁香婷婷成人网| WWW.夜夜操.com| www婷婷| 《久久综合九色综合97婷婷| 伊人色综在线| 国产一区二区av免费| 国产色丁香| 婷婷色色五月天| 婷婷欧美综合| 婷婷狠狠18禁久久| 久久99久久久| 九九热只有精品| 91大操| 1995年关宝慧版蜘蛛女| 亚洲欧洲中文日韩久久AV乱码| 五月丁香六月色婷婷综合五月天| 亚洲第一成人无码A片| 激情啪啪五月| 五月丁香六月婷婷成人电影| 五月天婷婷色色首页| 人人爱人人摸人人澡| 伊综合蕉| 人人爱人人添| 丁香五月停停av| 日撸夜撸日操| 天天肏在线视频| 99综合免费视频| 9久热视频| 五月天啪啪| 欧美啪啪五月天| 久久激情五月婷婷| www.99热这里精品| 欧美影院| 天天肏在线观看| 91chinese在线| 秋霞免费三级片| 人人爱操| 五月欧美色色五月| 婷婷丁香色女人| 深爱激情五月网|