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

ARTICLE DETAIL

資訊詳情

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

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

Tracy PHP 性能分析實(shí)戰(zhàn):調(diào)試欄、timer 埋點(diǎn)與日志落地 簡(jiǎn)介T(mén)racy Profiler 中文用戶手冊(cè)是一份面向C/C等應(yīng)用開(kāi)發(fā)者的跨平臺(tái)性能分析文檔主要覆蓋CPU與GPU實(shí)時(shí)分析、幀分析、采樣分析、遠(yuǎn)程或嵌入式遙測(cè)等場(chǎng)景并突出對(duì)目標(biāo)程序性能影響最小化的設(shè)計(jì)目標(biāo)。資源共1個(gè)docx文件壓縮包約1.26MB內(nèi)容按章節(jié)組織手冊(cè)共八章、結(jié)構(gòu)完整涵蓋Tracy快速概覽、客戶端初始設(shè)置、代碼插樁、數(shù)據(jù)捕獲與存儲(chǔ)、圖形界面分析、區(qū)域統(tǒng)計(jì)導(dǎo)出為CSV、導(dǎo)入外部性能分析數(shù)據(jù)以及配置文件說(shuō)明并涉及Visual Studio、Linux、Android、Docker等平臺(tái)注意事項(xiàng)與故障排除。同時(shí)對(duì)FrameMark、ZoneScoped等關(guān)鍵標(biāo)記用法以及GPU分析Vulkan、D3D、Metal、CUDA、OpenCL等、內(nèi)存分析、鎖、纖程、調(diào)用棧和C API/Python API等高級(jí)特性均有較全面完整的中文說(shuō)明。已有229人瀏覽學(xué)習(xí)適合希望系統(tǒng)掌握Tracy集成方法、快速定位性能瓶頸并優(yōu)化程序表現(xiàn)的開(kāi)發(fā)者閱讀。1. 用 Tracy 做 PHP 性能分析為什么調(diào)試欄里的數(shù)據(jù)比你自己埋點(diǎn)靠譜排查一個(gè)慢接口最常見(jiàn)的方法是進(jìn)入口文件加幾行 microtime打印完再刪掉如果埋點(diǎn)位置不對(duì)整個(gè)流程得重來(lái)一遍。Tracy 性能分析要解決的就是這件事在幾乎不改業(yè)務(wù)代碼的前提下讓頁(yè)面自帶一份包含耗時(shí)、峰值內(nèi)存、加載文件數(shù)的運(yùn)行報(bào)告順帶把異常和日志也接管過(guò)去。網(wǎng)上關(guān)于 Tracy 性能分析的中文資料一直比較零散大多停在安裝步驟這篇直接把落地路徑講透——從 Composer 裝完怎么啟用到用 timer() 做分段埋點(diǎn)、調(diào)哪些參數(shù)再到幾個(gè)真實(shí)踩過(guò)的坑。維護(hù) PHP 服務(wù)、排查慢查詢和內(nèi)存尖峰的人照著做基本能省半天時(shí)間。2. 集成與啟用Tracy 性能分析的最小配置與兩種運(yùn)行模式Tracy 是 PHP 生態(tài)里一個(gè)獨(dú)立的調(diào)試與性能分析組件不依賴特定框架Composer 項(xiàng)目可以直接引入。它不像 Xdebug 那樣需要改 php.ini 或者專門(mén)跑一輪 profiling而是常駐在入口文件里每請(qǐng)求結(jié)束后收集數(shù)據(jù)并在瀏覽器底部渲染一個(gè)診斷欄。理解它的工作原理后面排查問(wèn)題會(huì)順暢很多。2.1 定位一個(gè)掛在入口文件里的性能與錯(cuò)誤診斷面板Tracy 的工作方式可以拆成兩個(gè)鉤子。第一個(gè)是錯(cuò)誤處理器攔截未捕獲的異常和 PHP Notice/Warning按配置決定是渲染藍(lán)屏頁(yè)還是寫(xiě)日志第二個(gè)是 shutdown 回調(diào)在腳本執(zhí)行結(jié)束時(shí)統(tǒng)一收集執(zhí)行時(shí)間、峰值內(nèi)存、加載文件數(shù)并把調(diào)試欄拼到 HTML 尾部。這兩個(gè)鉤子都由Tracy\Debugger::enable()一次性完成注冊(cè)。選型上它和另外兩條常見(jiàn)路線有明顯差異。Xdebug 適合做周期性的深度剖析能輸出 cachegrind 文件給 GUI 工具看但開(kāi)銷大、需要裝擴(kuò)展不適合常開(kāi)。自己寫(xiě) microtime 埋點(diǎn)的問(wèn)題在于埋點(diǎn)代碼會(huì)污染業(yè)務(wù)邏輯測(cè)完還得清一遍而且容易漏掉異常路徑。Tracy 把測(cè)量邏輯放在業(yè)務(wù)代碼外面錯(cuò)誤處理和性能數(shù)據(jù)共用一套載體這是它作為常駐診斷工具的核心優(yōu)勢(shì)。對(duì)于性能分析這個(gè)目標(biāo)你可以把它理解成Tracy 給每個(gè)請(qǐng)求都做了一次輕量級(jí)的 profiling結(jié)果直接泡在頁(yè)面右下角不需要單獨(dú)跑工具。開(kāi)發(fā)者模式開(kāi)了之后連數(shù)據(jù)庫(kù)連接數(shù)、Session 內(nèi)容都在同一塊面板里排查慢接口時(shí)信息是聚攏的不用在 IDE、日志、瀏覽器工具之間來(lái)回切。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ù)日志目錄目錄必須存在且可寫(xiě) Debugger::enable(Debugger::Development, __DIR__ . /../log);這段代碼有兩個(gè)關(guān)鍵點(diǎn)。enable()的第一個(gè)參數(shù)是運(yùn)行模式Debugger::Development會(huì)打開(kāi)調(diào)試欄和藍(lán)屏錯(cuò)誤頁(yè)適合本地開(kāi)發(fā)線上環(huán)境應(yīng)該換成Debugger::Production那個(gè)模式下調(diào)試欄不渲染錯(cuò)誤只寫(xiě)日志。第二個(gè)參數(shù)是日志目錄Tracy 捕獲的異常、調(diào)用的Debugger::log()內(nèi)容都會(huì)落到這里目錄不存在或不可寫(xiě)會(huì)導(dǎo)致整個(gè)診斷鏈路靜默失效。我一般會(huì)在require vendor/autoload.php之后立刻調(diào)enable()再加載業(yè)務(wù)配置。原因很簡(jiǎn)單enable()要注冊(cè)錯(cuò)誤處理器放得越早Framework 初始化階段產(chǎn)生的警告才能被它接住。放太晚的話前期錯(cuò)誤已經(jīng)直接打到頁(yè)面上了調(diào)試欄也不會(huì)顯示完整信息。2.3 生產(chǎn)環(huán)境只落日志不彈面板白名單與模式切換生產(chǎn)環(huán)境直接開(kāi) Development 模式是新手最容易犯的錯(cuò)誤——調(diào)試欄會(huì)暴露請(qǐng)求參數(shù)、Session 內(nèi)容而且頁(yè)面底部多一塊渲染邏輯接口耗時(shí)也會(huì)被抬高。正確的做法是用環(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)模式下的異常通知地址按需配置這里核心邏輯是只有開(kāi)發(fā)環(huán)境且來(lái)自可信 IP 的請(qǐng)求才展示調(diào)試欄其余場(chǎng)景一律按 Production 模式跑。Debugger::$email是可選配置Production 模式下發(fā)生嚴(yán)重錯(cuò)誤時(shí) Tracy 會(huì)往這個(gè)地址發(fā)郵件摘要適合沒(méi)有獨(dú)立監(jiān)控系統(tǒng)的團(tuán)隊(duì)先頂著用。注意10.0.0.%這類通配是 Tracy 內(nèi)部支持的前綴匹配如果你不想依賴這套規(guī)則完全可以在$trustedIps數(shù)組里只寫(xiě)完整 IP再對(duì)REMOTE_ADDR做前綴判斷邏輯更直觀。3. 讀取與埋點(diǎn)用調(diào)試欄和 timer() 抓頁(yè)面耗時(shí)、內(nèi)存配置啟用后頁(yè)面右下角會(huì)出現(xiàn)調(diào)試欄。對(duì)于性能分析來(lái)說(shuō)調(diào)試欄只是入口真正精確到業(yè)務(wù)環(huán)節(jié)的數(shù)據(jù)要靠手動(dòng)埋點(diǎn)。這一章先說(shuō)怎么看默認(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)前請(qǐng)求的執(zhí)行時(shí)間、峰值內(nèi)存、加載文件數(shù)、PHP 版本以及一個(gè)可以展開(kāi)的 profile 信息區(qū)。執(zhí)行時(shí)間和峰值內(nèi)存是判斷接口健康度的第一手?jǐn)?shù)據(jù)加載文件數(shù)則能反映 autoload 是否把無(wú)關(guān)類也拉進(jìn)來(lái)了。讀取的時(shí)候要區(qū)分場(chǎng)景。開(kāi)發(fā)模式下調(diào)試欄顯示的耗時(shí)包含 Tracy 自身收集和渲染面板的損耗所以它更適合看相對(duì)變化改了一段查詢后耗時(shí)從 120ms 降到 80ms這個(gè)趨勢(shì)可信但如果你想報(bào)一個(gè)絕對(duì)性能指標(biāo)給上級(jí)應(yīng)該用 Production 模式加日志來(lái)測(cè)。另一個(gè)容易忽略的點(diǎn)是調(diào)試欄的耗時(shí)是整個(gè)請(qǐng)求的端到端數(shù)據(jù)它不會(huì)告訴你慢在哪這時(shí)就需要手動(dòng)埋點(diǎn)把耗時(shí)拆開(kāi)。3.2 用 Tracy\Debugger::timer() 做分段計(jì)時(shí)Debugger::timer()是 Tracy 提供的分段計(jì)時(shí) API。同名計(jì)時(shí)器第一次調(diào)用時(shí)啟動(dòng)第二次調(diào)用時(shí)返回經(jīng)過(guò)的秒數(shù)并自動(dòng)復(fù)位第三次調(diào)用又開(kāi)始新一輪計(jì)時(shí)。用這個(gè)名字配對(duì)機(jī)制可以把一段請(qǐng)求拆成多個(gè)互不干擾的環(huán)節(jié)?php use Tracy\Debugger; Debugger::enable(Debugger::Development, __DIR__ . /log); // 第一次調(diào)用啟動(dòng)名為 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)先級(jí)這里用 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)會(huì)有很多位小數(shù)寫(xiě)日志時(shí)用sprintf控制格式否則日志文件會(huì)很難看。第二日志優(yōu)先級(jí)perf不是固定關(guān)鍵字Tracy 會(huì)按優(yōu)先級(jí)生成對(duì)應(yīng)前綴的日志文件比如你寫(xiě)成perf日志會(huì)落到類似log/perf-2025-xx.log的文件里這樣性能日志和異常日志天然分開(kāi)后處理時(shí) grep 一個(gè)目錄就行。我一般會(huì)用業(yè)務(wù)動(dòng)作名作為timer()的 name比如order.create、export.csv而不是用db、render這種寬泛詞。原因是排查線上慢任務(wù)時(shí)日志里一眼就能看出是哪個(gè)業(yè)務(wù)環(huán)節(jié)慢配合 URI 字段就能定位到具體接口不用再猜。3.3 把耗時(shí)寫(xiě)進(jìn)日志CLI 與異步任務(wù)里的性能記錄調(diào)試欄依賴瀏覽器渲染CLI 腳本、隊(duì)列進(jìn)程、定時(shí)任務(wù)里它完全派不上用場(chǎng)。這些場(chǎng)景的常見(jiàn)做法是后端直接啟用 Production 模式用Debugger::log()把性能數(shù)據(jù)落盤(pán)?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)拼成一行寫(xiě)入 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)線。日志級(jí)別用perf方便后續(xù)統(tǒng)一收集和分析。我自己的習(xí)慣是在隊(duì)列框架的基類里做一次這樣的埋點(diǎn)而不是在每個(gè)任務(wù)里重復(fù)寫(xiě)。因?yàn)槿蝿?wù)跑完以后你真正關(guān)心的是有沒(méi)有某個(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 出來(lái)一大片全是省略號(hào)要么調(diào)大參數(shù)后頁(yè)面直接卡死。這一章把控制轉(zhuǎn)儲(chǔ)深度的參數(shù)講清楚。4.1 三個(gè)控制轉(zhuǎn)儲(chǔ)行為的參數(shù)參數(shù)作用常見(jiàn)開(kāi)發(fā)值說(shuō)明Debugger::$maxDepthdump 數(shù)組/對(duì)象時(shí)展開(kāi)的最大層級(jí)35值太大會(huì)把整個(gè)對(duì)象圖遍歷一遍注意循環(huán)引用Debugger::$maxLength單個(gè)字符串最多顯示多少字符3001500超出部分會(huì)被截?cái)嗖?biāo)記不影響真實(shí)數(shù)據(jù)Debugger::$maxAttachedLength內(nèi)聯(lián)附件圖片等讀取的最大字節(jié)數(shù)約 50000以你安裝版本為準(zhǔn)一般不用改涉及附件調(diào)試時(shí)才需要?jiǎng)舆@三個(gè)參數(shù)只影響 dump 的顯示和轉(zhuǎn)儲(chǔ)過(guò)程不會(huì)改業(yè)務(wù)數(shù)據(jù)本身。maxDepth是性能敏感度最高的一個(gè)Tracy 要把數(shù)組和對(duì)象遞歸遍歷并生成可折疊的 HTML深度每加一層工作量可能翻倍。一個(gè)上百層的嵌套結(jié)構(gòu)開(kāi)滿深度去 dump頁(yè)面卡住幾秒鐘很常見(jiàn)。maxLength控制長(zhǎng)字符串的截?cái)唷>€上接口返回的 JSON 動(dòng)輒幾千字符默認(rèn)值可能只夠看到開(kāi)頭排查響應(yīng)體問(wèn)題時(shí)需要把它調(diào)大但別一次拉滿。我一般先看截?cái)嚅_(kāi)頭能不能定位問(wèn)題不夠再加省得日志刷屏。4.2 dump 大型數(shù)據(jù)時(shí)的內(nèi)存陷阱與參數(shù)設(shè)置排查內(nèi)存泄漏時(shí)很多人喜歡 dump 一個(gè)復(fù)雜對(duì)象圖看引用關(guān)系結(jié)果內(nèi)存沒(méi)查出來(lái)頁(yè)面先 OOM 了。合理做法是先限制轉(zhuǎn)儲(chǔ)范圍再觀察結(jié)構(gòu)?php use Tracy\Debugger; // 全局限制轉(zhuǎn)儲(chǔ)兩層就停字符串只顯示開(kāi)頭 300 字符 Debugger::$maxDepth 2; Debugger::$maxLength 300; $payload $someService-fetchLargeResponse(); // 可能是一個(gè)很大的嵌套數(shù)組/對(duì)象 // 先看結(jié)構(gòu)和字段名而不是看全量?jī)?nèi)容 dump($payload);注釋里已經(jīng)說(shuō)明了邏輯dump()是 Tracy 提供的全局函數(shù)效果和Tracy\Debugger::dump()相同輸出可折疊的 HTML點(diǎn)擊展開(kāi)子節(jié)點(diǎn)。限制maxDepth 2后你看到的是數(shù)組第一層字段和每個(gè)子項(xiàng)的類型摘要已經(jīng)足夠定位“哪個(gè)字段帶著巨大的數(shù)據(jù)”這類問(wèn)題而不會(huì)把整個(gè)結(jié)構(gòu)全量渲染。如果確實(shí)需要深入看某個(gè)節(jié)點(diǎn)的完整內(nèi)容不要在全局把maxDepth調(diào)到很大而是在轉(zhuǎn)儲(chǔ)前臨時(shí)局部設(shè)置看完立刻改回?php Debugger::$maxDepth 1; dump($payload[items][0]); // 只展開(kāi)這一層的內(nèi)部 Debugger::$maxDepth 2; // 改回常用值參數(shù)位置放在enable()之后、dump()之前即可Tracy 沒(méi)有專門(mén)的配置階段運(yùn)行時(shí)改屬性立刻生效這既是優(yōu)點(diǎn)也是坑——埋點(diǎn)代碼記得刪不然別人改代碼時(shí)行為會(huì)很詭異。4.3 線上禁用 d()為什么調(diào)試欄拖慢接口d()是dump() die()的組合函數(shù)適合臨時(shí)打斷執(zhí)行流看中間結(jié)果但線上絕不能留。d($x)執(zhí)行到這一行就直接終止請(qǐng)求后面所有邏輯都不跑而且響應(yīng)內(nèi)容也會(huì)因?yàn)樘崆爸袛喽兊貌豢捎们岸四玫降目赡苁前雮€(gè) HTML 加一段調(diào)試數(shù)據(jù)。更隱蔽的問(wèn)題出現(xiàn)在調(diào)試欄本身。即使你只在開(kāi)發(fā)環(huán)境開(kāi)了調(diào)試欄它也會(huì)在每次請(qǐng)求時(shí)收集 Session、請(qǐng)求參數(shù)、加載文件列表并在頁(yè)面底部注入調(diào)試欄的 HTML 和 JS。對(duì)生產(chǎn)環(huán)境的壓測(cè)來(lái)說(shuō)這個(gè)開(kāi)銷會(huì)直接影響 QPS 數(shù)字所以性能測(cè)試環(huán)境我強(qiáng)烈建議用 Production 模式只留日志不要開(kāi)調(diào)試欄。一個(gè)相對(duì)安全的調(diào)試開(kāi)關(guān)是用環(huán)境變量包一層?php // 只有顯式設(shè)置了 DEBUG_DUMP 才允許 d() 生效 if (!empty($_ENV[DEBUG_DUMP])) { d($payload); }這樣即使代碼不小心發(fā)布上線沒(méi)有環(huán)境變量也不會(huì)觸發(fā)die()算是一道保險(xiǎn)。團(tuán)隊(duì)里如果有新人習(xí)慣用d()調(diào)試這個(gè)習(xí)慣值得推廣開(kāi)。5. 落地排查性能分析中的 5 個(gè)典型坑這一章的每條坑都是實(shí)際接入 Tracy 服務(wù)時(shí)踩過(guò)的按「現(xiàn)象 → 原因 → 解決」寫(xiě)方便直接對(duì)照。5.1 現(xiàn)象一開(kāi)了調(diào)試欄接口耗時(shí)翻倍開(kāi)發(fā)環(huán)境某個(gè)接口原本 80ms啟用調(diào)試欄后變成 160ms。壓測(cè)時(shí)更明顯開(kāi)與不開(kāi)差了將近兩成。原因在于調(diào)試欄要做數(shù)據(jù)采集和渲染收集 Session、請(qǐng)求參數(shù)、加載文件列表還要在頁(yè)面底部注入一段 HTML 和 JS這一步發(fā)生在請(qǐng)求的完全結(jié)束前占的是真實(shí)響應(yīng)時(shí)間。測(cè)量工具改變被測(cè)系統(tǒng)這是預(yù)期內(nèi)的物理?yè)p耗不代表 Tracy 有嚴(yán)重 bug。解決時(shí)先想清楚數(shù)據(jù)用途看趨勢(shì)、優(yōu)化邏輯就用開(kāi)發(fā)模式出報(bào)告、壓測(cè)必須切到 Production 模式靠日志測(cè)。另外把maxDepth、maxLength調(diào)到夠用即可越小的轉(zhuǎn)儲(chǔ)范圍意味著越少的額外開(kāi)銷。5.2 現(xiàn)象二CLI 腳本里看不到任何性能數(shù)據(jù)在 cron 腳本里enable(Debugger::Development)后頁(yè)面完全沒(méi)有調(diào)試欄輸出腳本本身也沒(méi)報(bào)錯(cuò)以為 Tracy 集成失敗了。原因不難理解調(diào)試欄的渲染依賴瀏覽器請(qǐng)求的 HTML 輸出CLI 進(jìn)程沒(méi)有這個(gè)概念enable()即便成功注冊(cè)了錯(cuò)誤處理器也沒(méi)地方渲染調(diào)試欄。解決方法是 CLI 任務(wù)統(tǒng)一用日志載體。我在隊(duì)列消費(fèi)腳本里只保留Debugger::enable(Debugger::Production, $logDir)然后對(duì)核心環(huán)節(jié)調(diào)Debugger::timer()配合Debugger::log()日志文件就是可視化數(shù)據(jù)源。后續(xù)要分析時(shí)寫(xiě)幾行腳本把 perf 日志聚合一下比任何面板都好用。5.3 現(xiàn)象三藍(lán)屏頁(yè)白屏日志目錄沒(méi)權(quán)限配置好 Tracy 后打開(kāi)一個(gè)錯(cuò)誤頁(yè)面沒(méi)有出現(xiàn)藍(lán)屏錯(cuò)誤頁(yè)而是白屏log 目錄也空。原因通常是日志目錄不存在或 php-fpm 運(yùn)行用戶沒(méi)有寫(xiě)權(quán)限。Tracy 在無(wú)法寫(xiě)日志時(shí)會(huì)放棄渲染錯(cuò)誤頁(yè)避免把異常信息二次暴露所以表現(xiàn)成白屏而不是報(bào)錯(cuò)。解決分兩步先確認(rèn)目錄存在且可寫(xiě)再在enable()前做一次檢查避免靜默失敗。一個(gè)簡(jiǎn)單的前置檢查?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 能寫(xiě)不代表 web 用戶能寫(xiě)部署后最好手動(dòng)訪問(wèn)一次錯(cuò)誤頁(yè)面驗(yàn)證。5.4 現(xiàn)象四dump 大數(shù)組內(nèi)存暴增甚至 OOM為了看清某個(gè)接口返回的完整結(jié)構(gòu)把maxDepth調(diào)到 10然后dump($payload)頁(yè)面直接卡死或報(bào)內(nèi)存耗盡。原因有兩個(gè)深層遍歷成本隨深度指數(shù)增長(zhǎng)循環(huán)引用會(huì)讓遍歷出現(xiàn)更多重復(fù)路徑。解決方法是前面提到的控制轉(zhuǎn)儲(chǔ)范圍先低深度看結(jié)構(gòu)再局部深入另外如果只是想看某個(gè)字段的完整值直接存日志看原始數(shù)據(jù)比 dump 更省。真的需要 dump 大型結(jié)果集時(shí)先array_map截取一部分字段重建數(shù)組再交給 dump開(kāi)銷會(huì)小很多。5.5 現(xiàn)象五timer() 拿到的耗時(shí)和預(yù)期不符外層計(jì)時(shí)器返回 0ms或者某個(gè)分段耗時(shí)明顯偏小。原因是對(duì)timer()同名配對(duì)機(jī)制理解不透同名計(jì)時(shí)器第二次調(diào)用會(huì)返回耗時(shí)并復(fù)位第三次調(diào)用又是新一輪計(jì)時(shí)如果外層內(nèi)層用了同一個(gè) name內(nèi)層先返回復(fù)位外層拿到的就是從復(fù)位點(diǎn)到外層結(jié)束的一小段等于白測(cè)。解決方法是每個(gè)分段分配唯一 name或者干脆用閉包封裝避免手寫(xiě)配對(duì)的低級(jí)錯(cuò)誤?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í)沒(méi)有配對(duì)和復(fù)位的理解成本適合在內(nèi)部工具函數(shù)里統(tǒng)一調(diào)用。6. 進(jìn)階把 Tracy 調(diào)試欄擴(kuò)展成團(tuán)隊(duì)自己的性能基線與慢請(qǐng)求歸檔默認(rèn)調(diào)試欄展示的是總耗時(shí)和總內(nèi)存業(yè)務(wù)上更需要看的往往是數(shù)據(jù)庫(kù)、外部 HTTP、Redis 各自花了多少。Tracy 提供了面板接口可以自定義標(biāo)簽頁(yè)掛到調(diào)試欄上。6.1 自定義 IBarPanel把數(shù)據(jù)庫(kù)耗時(shí)單獨(dú)掛到調(diào)試欄實(shí)現(xiàn)Tracy\IBarPanel接口getTab()顯示在調(diào)試欄上的短標(biāo)題getPanel()返回點(diǎn)擊后展開(kāi)的 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() 之后注冊(cè) 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(...))把本次請(qǐng)求所有 SQL 耗時(shí)匯總調(diào)試欄直接顯示總耗面板展開(kāi)則能看到每條 SQL 的獨(dú)立耗時(shí)。注意getPanel()返回的 HTML 里拼接了外部輸入的 SQL 語(yǔ)句必須用htmlspecialchars轉(zhuǎn)義否則 SQL 里帶個(gè)尖括號(hào)就能破壞面板布局這屬于基礎(chǔ)安全習(xí)慣。注冊(cè)面板要在enable()之后調(diào)用容器初始化階段放這就行。6.2 請(qǐng)求結(jié)束自動(dòng)寫(xiě)性能基線 JSONL調(diào)試欄適合開(kāi)發(fā)期點(diǎn)著看真正要發(fā)現(xiàn)“接口從 80ms 漲到 160ms”這種回歸靠的是持續(xù)的性能基線。用register_shutdown_function在每次請(qǐng)求結(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 ); });每次請(qǐng)求一行 JSON累積一段時(shí)間后就能做分位數(shù)統(tǒng)計(jì)找出哪些接口的耗時(shí)在緩慢惡化。Debugger::timer()不傳參數(shù)時(shí)用的是默認(rèn)計(jì)時(shí)器從enable()之后就開(kāi)始計(jì)到請(qǐng)求結(jié)束時(shí)正好是總耗時(shí)。LOCK_EX防止并發(fā)寫(xiě)時(shí)候文件交錯(cuò)。這套思路從 Tracy 的性能分析延展成了團(tuán)隊(duì)自己的性能基線開(kāi)發(fā)期看調(diào)試欄測(cè)試期跑幾輪壓測(cè)看 JSONL上線后配合定時(shí)任務(wù)每天算一次 p95比臨時(shí)抓包定位快得多。我自己早期做性能優(yōu)化時(shí)總習(xí)慣把maxDepth拉到很大去看對(duì)象圖結(jié)果在一次壓測(cè)里調(diào)試欄的采集損耗讓 QPS 掉了接近兩成才真正明白 Tracy 的性能數(shù)據(jù)要區(qū)分“給人看”和“給機(jī)器存”兩條路徑——前者用調(diào)試欄后者用日志。希望這套落地路徑能幫你少走這段彎路直接把 Tracy 的性能分析用起來(lái)。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97在线观视频免费观看| 欧美不卡五十路| 人人么人人操| 日韩97视频!在线| 97在线/亚洲| 久久精品中文字幕无码l| www.91色综合| 亚州色综合| 丁香五月激情综合| 色欲无码人妻日韩欧美精品| 亚洲男人的天堂在线看| 欧美亚洲中文字幕| 东京热AV男人的天堂| 亚洲精品无码成人久久久99| 91欧美丝袜| 激情抓乳插进去啪啪啪日韩| 淫纸中9区| 激情综合网五月婷婷五月天| 动漫av中文| 成人免费看吃奶视频网站| 欧美综合第一| 亚洲超碰AV| 偷拍片久久| 亚洲黄色a级片| 蜜臀亚洲综合一二三四区| 国产日韩色综合| 99九九久久| 亚洲一卡二卡在线免费| 操淫穴亚洲五月丁香| 国产在线视频二区| 夜夜 中文视频rt| 91天堂色男人的天堂| 91N综合网在线| 亚洲一区二区性爱电影| 欧美瑟综合| 日韩av在线播放不卡| 欧美日本视频一区| 久久精品国产精品亚洲艾通辽熟妇| 久草综合网| 亚洲熟妇极品| 无码外流操逼视频| 在线观看亚洲成人精品| 天操老女人| 欧美不卡在线一区二区| www.AV有限公司一区| 99久久婷婷丁香| 精品人妻一区春色| 久极品在线观看| 久久久久久日韩| 91精品免费| 99精品网| 久久人人爽人人爽人人片Ⅴ| 欧美人人操人人插| 亚洲人精品午夜不卡| 九九热AV| 日本黄 R色 成 人网站| 日韩一级欧美一级国产一级台湾| 人妻少妇精品久久久| 日韩成人大片在线观看| 综合伊人网12色| 成人在线永久| 小草精彩毛片| 欧美 亚洲 综合 制服| 91被操| 2019亚洲男人天堂| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 午夜毛片亚洲精品片国产久久久| 欧美色日本| 五月天激情四射| 国产一区二区三区高清视频| 9久久久久| 亚洲区限制级| 人人妻人人色| 欧美少妇性乱| 99啪啪| 少妇二级| 99色在线| 在线播放中文字幕| 97精品熟女少妇一区| 东京热天堂网| 亚洲天天自拍| 曰韩少妇无码| 四虎免费看黄| 中文字幕 一区二区 亚洲无码| 欧美日韩国产中文精品字幕自在自线 | 久久久久久久久久久久久久久久9| 99精品在线播放| 色翁荡息又大又硬又粗又爽| 日日超碰亚洲| 中文字幕青青草| 亚洲精品国产av天美传媒| 四虎永久在线精品免费网址| 天天肏夜夜肏| 久久久久久AⅤ无码免费肉站| 欧美真人抽搐一进一出gif| 午夜福利合集| 91综合天天看| 91欧洲入口| 91日产欧美| 国产无遮挡| 亚洲综合网电影91| 天天综合网国产| 国产精品一区二区黄片| 婷婷综合五月| 99精品久久| 九九色婷婷| 国产精品一区二区 尿失禁| 色黄污美女啪啪啪免费网站| 中字幕人妻一区二区三区| 天堂成人网| 久久久亚洲熟妇资源| 少妇特黄一区二区三区| 夜夜嗨免费视频| 精品一区二区三区四区外站| 东北女人操比视频| 午夜啊啊| 97超碰人人操人人操| 亚洲色天| 最新三级网址| 久久婷婷综合国际产色怕| 午夜一区二区三区国产| 国人欧美精品一区二区| 久热无码| 久久综合久久综合人久久夜精品| 91成人在线| 天美传媒AV国产在线| 18禁久极品美女久久哦哟呀!| 天天天天天天天天综合| 久久精品电影| 蜜臀视频网站| 伊人精品久久网站| 骚逼高潮久久精品| 日韩二三区| 中文字幕88av在线| 亚洲欧美91√| 欧美激情视频一区二区| 亚洲无码成人精品| 丁香五月天堂网| 97中文超碰| 蜜臀99999| 午夜精品久久久久久久第一页按摩| 78m成人视线| 国产精品操| 情趣丝袜无码操逼视频| 亚洲天堂7777| 丁香五月天婷婷姐| 国产蜜臀精品一区二区尤物| 午夜精品久久一区二区| 国产极品精品美女视频| 能看的av| 日韩亚洲97| 一区二区三区看视频| 欧美福利视频啊啊啊啊| 狠狠操综合| 丝袜内射| 国产女人视频三四五区| 日韩Va亚洲va欧美Ⅴa久久| 五月丁香综合网| 2000亚洲男人天堂| 亚州色综合| 这里只有精品视频在线观看麻豆| 久久五月份| 操死我了嗯嗯嗯| 超碰色图| 玖玖玖玖精品国产剧情| 麻豆AV一区二区| 一区二区亚州激情久婷婷欧美| 91 丝袜在线播放| 久久久久国产一区二| 啊啊啊啊啊啊啊国| 九九九九AV| 大香蕉一区二区在线观看.| 午夜大香蕉| 亚洲色图 综合| 在线综合网| 中文字幕一区二区三区视频播放| 在线黄色污污网站| 伊人国产成人av网站| 亚洲精品aa久久伊人| 97干在线看| 97在线日韩中文字幕| PMv在线观看| 91狠狠综合久久| 丝袜av一区二区三区| 精品人妻一区二区三区四区不卡在| 2019天天干天天操| 2017大香蕉国产精品久久| 91成人18| 超AV色女| 加勒比海色香蕉婷婷| 国产亚洲色婷婷久久99精品91| 国产精品丝袜久久亚洲不卡| 91精品人妻电影| 91高跟美女在线播放| 黄色视频高清无码网站| 狠狠 91| 美女性91| 免费观看欧美日韩操逼视频| 一起草在线视频| 91操碰| 亚洲图片欧美偷拍| 激情五月天丁香| 97在线视频免费看| 中文字幕精品一区二区精品| 三级日韩一区二区三区| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 91痴汉| 亚洲乱熟女一区二区三区大香蕉| 九九热精品视频六| 综合天天网| 久久av一级av少妇av高潮| 久久久久久久久久久久久久久久9| 久久国产在线一区二区| 69人妻精品丰满熟女区| 26uuu性| 高跟伊人julia ann| 亚洲无无码αⅴ每日更新| 久久久久9999妇女| 国产三区免费在线观看| 黄色成年| 久草新免费| 午夜超爽| 久区视频| 草久久久| 亚洲激情在线一区二区| 另类专区加勒比| 久久日韩精品一区二区| 欧美在线视频播放| 操操碰| 日韩精品-原创伙伴| 青青青国产| 国产又色又粗又黄又爽| 偷拍色图| 一区中文字幕二区日韩| 熟女五十路一区二区三| 天天性射网| 亚洲五月丁香花狠狠干一区二区三区 | 一二三区在线| 中国少妇XXXX做受| 2020中文字幕在线| 亚州宗合另类| 黄色网址在线免费观看| 新怡红院| 国产地址二三| 天天爽天天| 大香蕉视频一二三区| 日本不卡一区二区三区| 偷拍 精品另类 凸凹了四区| 成人无码在线超碰网| 中文字幕AV片| 99热成人| 日韩性爱1级片视频| 人伦四五区| 中亚精品极乱| 极品色www影院| 亚洲天天操| 手机av亚洲丝袜美腿日韩第一页二页| 欧美图片偷拍| 久久毛卡| 欧美日韩在线视频网站| 国产乱子伦一区二区三区免看| AV九九| 国产强奸乱伦xd| 97亚洲综合在线| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧洲亚洲人妻无码中字久久三区四区 | 久久AV无码AV| 亚洲情色 自拍| 东京热一区二区三区四区五区六区| 中文字幕精品区先锋资源| J?P?NESEHD熟女熟妇伦| 大香蕉视频啪啪啪啪| 99热亚洲| 色官网在线| 一区不卡在线观看av| 东北女人性交| 97伊人超碰| 三级网站超变态精品| 久久曰曰| 强奸乱伦日韩AV| 国产二区三区免费视频| 欧美78P| 国产蜜臀在线| 亚洲污污网站| 久久久专区| 91殴美大片| 激情小说五月天| 逼逼逼逼操操操操操操操操操午夜剧场| 中欧人妻丝袜中文字幕| 特色a在线上| 色九九久九九| 超碰碰小说97| 老熟妇一区二区三区啪啪| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 欧美天堂第二区| 久久久中文版| 黑人精品久久97| 成人无码专区精品视频| 男插女青青影院| 亚洲欧美九九| 国产美脚女优尤物在线观看| 欧美色偷拍 | 国产综合永久精品日韩鬼片| 国产精品亚洲无码| 久久精品店| 亚洲成人性爱在线观看| 美国aaaaa一级黄片| 亚洲av综合色区图片亚洲| heyZO天然素人无码AⅤ专区| 欧美一区二区福利在线| 中文字幕第9页萱萱影音先锋| 久久久久亚洲| 美女被啪到深处抽搐视频| 97碰碰色| 午夜啪| 成人av福利在线观看| 国产精品探花色| 少妇厨房愉情理伦片bd在线观看| 国产一区二区a毛片| 日韩黄片视频试看| 中国东北熟女老太婆内谢| 围产精品一区二区三区视频播放| www.超碰在线| 色综合91| 目产99999久久999| 智利AV在线网| 天天92av| 欧美日韩性爱电影在线| 凸凹视频在线观看| 欧美九9 9 9| 蜜桃精久三区| 激情婷婷丁香| 欧美日韩一二三| 美国日韩黄片| 在线观看AV片| 久综合网| 国产成人AV麻豆| 亚洲日韩欧美一区二区| 天天操天天干美女网址导航| AVE乱伦| 日韩久久.一级黄色片| 99视频在线| 丰满翘臀美女影院视频| 日韩精品怡红院| 男人天堂东京热| 女欧美一区二三区| 精品久热| 久久精品夜色国产亚洲AV| 成人精品水蜜桃久久久久久久| 91在线/欧洲| 欧美+日产+中文| 草莓精品视频在线免费观看| 九热视频| 超碰97最新人妻| 密臀国产在线| 99性爱在线观看| 麻豆60秒| 四虎影视国产精品| 天天色,天天干,天天干| 91在线色综合| 97超碰大| 99性爱在线观看| 久久日韩毛| 丰满欧美放荡少妇在线| 日本成a人v网站在线观看| 中文精品一区二去| 黑丝少妇麻豆| 资源新线在线天堂| 欧美特大黄一级片片免费| 精品久久久久瑟瑟| 99av| 亚洲综合色网| 精品久操| 亚洲高清无码在线桃色| 中文字幕加勒比海高清无码免费视频| 亚洲综合在线91| aⅴ日韩成人电影av在线免费看av大全| 大香蕉色十月| 午夜操一视频一区| 欧美午夜视频精品久久| 麻豆人妻偷人精品无码视频| 人妻干天天| 国产suv精品一区二区四| 国产三级中文字幕粉嫩| 性在久久久久久| 国产25页| 午夜乱轮操逼视频免费看| 久久免费中文字幕在线观看| 久久久久久久9| 国产欧美一区激情交| 视频在线观看青青99国产| 亚洲无码太久| 日本99一区二区| 视频国产成人精品日本亚洲18| 五月天婷婷影院| rion磁力链接| 欧美淫穴| 操国产高清| 美女刺激久久国产欧美| 91 丝袜在线播放| 今日头条成人一区二区三区四虎精品| 超碰在线欧美性爱激情| 亚洲中文电影| 日本视频在线观看污污污| julia在线观看久久| 亚洲精品97| 日韩精品人妻中文字幕有码午| 99久久久无码国产精品性啊聊| 国产精品一二三免费网站| 青青青青操国内视频在线| 九月色婷婷| 亚洲色图欧美| 色女99一级片在线观看| 嗯啊视频免费在线观看| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 超碰成人人人爽人人爽| 欧美熟妇乱码在线一区| 人人妻人射| 91国产丝袜美女| 五月天色图| 综合色区偷拍| 夜夜操av亚洲一区二区| 天天看天天在线精品| 热久日综合| 中文字幕av乱伦| 日韩图色| 日本999精品视频| 亚洲阿v天堂无码z2018| 美女骚尻视频| 青青草在线视频人人想人人上| 日本黄大片在线观看视频| 中文字幕免费观看| 国产18精品亚洲精品| 深夜视频| 青操影院| 亚洲有码 视频一区| 午夜性生活av免费在线看| 污污污8888| 啊v视频在线观看| 亚洲欧洲av影音| 天天日美女的B| 婷婷五月色| 欧 美 自 拍 偷 拍| 国产麻豆福利av在线播放| 国产乱码久久| 亚洲三区视频| 精品传媒在线一区| A啊啊在线观看| 亚洲男人bt天堂| 国产特级毛片AAAAAA高潮流水 | 国产探花日韩援交| 伊色久人大在线| 欧美色日本| 五月激情综合网| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 青草香蕉网| 精品国产精品一区二区| 日韩无码极品| 干B网| 青青草男人天堂| 日本九九九九| 欧美日韩国产高清在线一二三区| 久久精品 六十路 熟女 欧美| 久久精品六区| 偷拍在线观看视频| 亚洲情色五月天 | 欧美精品自慰系列寂寞少妇| 老司机深夜18禁污污网站| 日韩精品亚洲一二三| 秋霞鲁丝午夜无码一区二区三| 国产精品白虎| 很很干很很操| 91超级碰| 亚洲偷拍自拍在线视频| 亚州免费啪啪视频| 国产精品亚洲一级av第二区| 中文字幕天堂在线| 久久97超碰| 大香交| 丝袜视频一区二区在线播放国产中文| 日韩草久视频| 99这里有精品| 久操热| 国产精品视频精品一二| 91啪啪视频| 欧美十八禁在线看| 人人天天干干| 欧美日韩性爱操大逼| 国产一区二区二区按摩精品啪视频| 亚洲激情久久久伊人综合| 丝袜高跟澳门91视频| 美女91在线观看| 用力操死我| 天天摸天天插天天日| 久热免费视频| 成人欧美一区二区三区黑人一| 五月丁香综合啪啪| 成人av免费观看| 亚洲人妻一区二区三区| 9久超碰| 性感女人网页在线观看视频| 午夜天天碰综合视频| 精品国产片亚洲一区| 国产又色又爽又舒服的三级视频| 欧美日韩国产色图在线| 去干网最新版| 精品精品精品| a人欧美综合天堂麻豆| 日韩二三区| 亚洲www91| ai欧美亚洲小说| 999久久芭蕾| 九t超碰| 欧美综合另类| 无遮挡一级毛片视频免费的| 26uuu国产成人综合| 99久久婷婷国产综合| 99精品在线| 1024亚洲中文字幕久在线看片你懂的| 色色色综合| 九一综合精品视品av| 成人精品欧洲亚洲| 欧美天堂在线| 国产精品成人久久一区二区三区 | 天天看综合网| 久久久中文版| 国产馆| 日本影视久久免费| 在线视频 亚洲精品| 国产操逼逼网| 中文伊人大香蕉视频| 四虎884a| 97鸡把在线视频| 欧美一二三级精品在线| 中文字幕在线观看二区三区| 少妇超碰在线| 999九九精品| 色姑娘综合网| 亚洲人妻中文高清| 亚洲,欧美,春色,另类| 激情欧美日韩女同久久| 男人天堂欧美| 欧美性爱三区二区| 亚洲成人一二三区| 我爱操| 日本1区2区不卡视频| 日本肉体xxxx裸交| 日本女厕偷拍| 99热这里都是精品| 欧美一级黄色18片免费看| 日韩三级久久久| 日韩特一级久久| 91免费看一区二区三区| 韩日精品四区| 天天搞欧美| A片A5445444| 五月天偷拍| 欧美综合亚洲| 国产最新小视频在线播放下载 | 免费亚洲国产精品久久一区| 9丨久久九九九| 久久久夜夜嗨免费视频| 久久国99999| 97超碰欧美| 精品九九国产无码| 国产日韩人人| 国产白丝精品在线观看| 大香蕉啪啪啪| 97一本大道亚洲一区| 欧美18老人禁| 97久久久久久久精| 久久精品国产亚洲av水密被窝| 免费视频在线一区二区不卡| 天天干一区二区| 男人天堂新在线| 亚洲欧美激情在线视频| 五月天综合网| 少妇一级婬片免费放一级a性色.| 97色插| 俞拍久久国应视频| 国产激情片在线观看| 日韩色图 一区二区| 日韩欧美大力操| 中文字幕在线观看第二页| 久久精品28| 丁香激情网| 久久爱97| 五月天开心网| AV男人天堂网| 日韩另类| 人妻第一页| 五月天伊人| 亚洲天堂男人天堂| 午夜男人一级A片7777| 激情五月天校园春色网| 亚洲欧洲日本精品中文a∨| 亚洲国产精品成人无码久久久| 骚逼高潮久久精品| 欧美极品色| www亚洲免费| 国产精品久久9| 亚洲欧美另类激情小说| 国产乱婷婷精品二区三区| 亚洲精品97| 综合激情97| 亚洲综合另类小说色区亚洲成av人片在www| 台湾佬中文娱乐自偷自拍| 搡老熟女免费视频 | 久久久久13| 国产精品不卡一区二区三区av| 国产性刺激| 日本免费中文字幕在线| 久久神马影院| 一级性爱aaaa| 亚洲色图91| 97se综合网| 8050无码八戒| 夫妻天天操岛国视频| 嗯阿好爽好紧| 五月婷婷丁香中文字幕| 丰满人妻一区二区三区四区| 亚洲 欧美 另类 综合 偷拍| 免费?级毛片无码?∨蜜芽试看| 国产成人天堂| 99久热| 欧美不卡在线一区二区| 五月天AV资源| 亚洲欧洲视频小说在线观看| 超碰国产精品久| 青青草综合在线| 精品国产72| 色综合尤物| 韩国一级做a久久久久| 国产精品午夜成人福利| 国产尤物AV尤物在线观看不卡 | 9999亚洲电影| 色色色99| 一个国产在线综合网站| 91热| 亚洲色图欧美色图制服诱惑| 色999五月色| 午夜视频黄| 超碰九7| 激情五月天校园春色网| 国产欧美精品日韩区二区麻豆天美| 欧美一区二区三区互相| 欧美se综合| 91少妇香蕉久久精品| 久久超碰爱| 日韩探花精品在线视频| 国产白丝av| 天天性射网| 97自拍一区| 丝袜AV一二三区| 亚洲乱码国产乱码精网站| 亲子敌伦对白在线播放| 伊人嫩草| 人妻无码视频一区二区三区久久| 婷婷国产精品九区| 大香蕉综合| 国产极品一区二区三区三州| 強姦亂倫a| 欧美性暴力| 国产三级中文字幕粉嫩| 国产成人精品一区| 中文在线久久字幕| 四虎AV无码| 91久久久久久久久18| 夜夜免费视频| 综合91网| 91男人天堂网| 天天看特黄的免费网站| 富二代亚洲精品99| 国产91久久九九免费精品无码| 天天日天天搞天天干| 一区二区乱码福利| 蜜臀久久99精品久久久久久-DVD原版全| 亚洲中文字幕久久无码精品| 久久精品99久久久久久| 高跟伊人julia ann| 另类图片五月天| 99精品无码| 亚洲麻豆精品二区三区| 97人妻碰碰中文无码久热丝袜| 久操不卡视频| 国产福利精品最新在线| 中国国国产一级特黄毛片| 强奸乱伦大香蕉网| 亚洲色图日韩精品| 亚洲中文日韩欧美大香蕉视频| 四虎国产精品永久在线囯在线| 翔田千里A片一区二区| 97天天摸天天爽| 久久超碰日韩精品| 成人毛片免费| 日本性爱视频一级| 久久中文字幕一区不卡| 久草网站免费在线观看| 国产精品久久久久久无码红治院| 一线黄色免费性爱片| 午夜乱轮操逼视频免费看| 韩国一级婬片A片无码天美| 天天插夜夜操| 东亚亚洲无码高清| 99这里只有精品| 天天影视色香色欲| 久久综合久久综合人久久夜精品| 欧美九9 9 9| av大香蕉网站| 2026国产精品视频| 人妻人久久精品中文字幕| 欧美性夜| 韩国三级一线观看久| AV在线性爱| 日本福利二区视频| 亚洲色图久久精品蜜| 天天日日本| 99re6国产精品99re| 人妻美腿丝袜日韩| 人人妻人人澡人人爽久久av| 日韩无码极品| 日本视频在线观看污污污| 夜夜草网站| 久热久一区二区三区| 91熟女.com| 亚洲欧美在线丝袜| 日韩高清黄片| 中文字幕日韩综合| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 97天天在线| 日韩欧美亚洲自拍偷拍| 国产一级不卡在线观看| 五月色综合| 97人妻色| 午夜九九| 日韩免费中文字幕视频| 美女一区二区国产精品| 嗯嗯啊啊用力视频免费| 免费99精品国产自在在线| 欧美综合色,www| 岛国网址国产 | 欧美激情另类一区二区| 在线另类| 热热热热日日漂亮永久永久国产日| 欧美精品黑人猛交高潮| 免费看黄视频亚洲网站| 亚洲国产欧美日韩人妻日中文| 另类专区加勒比| 欧美天天综合网版| 亚洲第一黄色av网站| 亚洲va综合va国产va中文| 欧美性爱一区二区三区四区| 欧美日韩另类激情图片| 人人模人人看| 嗯啊不要在线观看嗯啊| 午夜无码熟妇丰满人妻| 久久精品国产精品一区| 夂久色| 一区二区不卡免费| 日韩黄色片子| 丁香五月大香蕉| 啊嗯嗯啊好大好爽| 亚洲天天做日日做天天谢日日| 久久婷婷五月天| 大香蕉92| 亚洲精品人妻在线| 日本精品人妻少妇一区二区| 欧美综合自拍亚洲综合图| 亚洲天堂五月天国产| 成人综合色网| 亚洲精品国产拍免费91在线| 国产成人手机视频激情| 日韩成人午夜精品久久高潮| 亚洲欧美骚| 亚洲成A∨人影院在线欢看| 欧美三级免费伊人| 91在线免费精品视频| 久久久久人妻| 综合少妇网| 久久人妻精品| 欧美午夜熟妇黑人精品91| 国产大学生口爆吞精合集| 欧美日韩亚洲五月天婷婷| 免费A片三p视频| 91色碰| 欧美91精品国产自产| 激情五月综合| 色香天天| 免费视频在线观看啊啊啊啊啊| 精品一区二区三区麻豆| 日日干夜夜干| 老司机福利青青草| 亚洲欧洲成人在线电影| 欧美在线官网| 人人操人人爽人人操人人| 99自拍B亚洲 | 国产蜜臀在线| 九九色婷婷| 天天色综合影视网| 久久婷婷五月天| 亚洲精品久久久久久久蜜桃臀| 67914亚洲精品| 97av在线观看| 无码人妻丰满熟妇奶水区毛片| 深夜福利黄片| 草蕉影视亚洲无码| 强奸乱伦日韩AV| 51一区二区三区| 丁香九月激情| 国产亚洲福利第一页丝袜| 91色爽欧美| 成人av在线播放| 97超碰总站| 亚洲无线码一区国产欧美国| 精品国产a∨一区天美传媒| 日韩欧美视频青青| 99re视频在线播放青草| 天天影视色香色欲| 欧美激情性久久久久久| 欧美成人国产精品| 美女被艹尤物视频| 久久午夜色播影院免费高清| 9久久9综合| 免费一级特黄特色大片在线观看看| 97爱啪| 国产精品色色| 国产美女在线精品免费看| 97精品久久久久中文字幕| 欧美性爱伊人| 深夜激情| 69人妻精品丰满熟女区| 黄色网址在线免费观看| 九九九九九精品| 欧美国产有色电影| 91精品大奶人妻| 国产黄色视频久久| 久久亚洲日韩国产欧| 久久精彩免费视频| 老熟女乱子伦中文字幕一区二区| 国产2.3.4区| 五月综合视频| 亚洲国产欧美一区二区潘金莲| 99在线观看视频在线高清| 中文字幕精品人妻丝袜| 亚洲精品无码久久AV| 欧美一二三| 国产第二页| 视频在线观看一二三区| 午夜理论片在线观看免费| 少妇久久久久久| AV男人天堂网| 中文字幕丝袜美腿| av婷婷色婷婷色六月| 国产Av超碰| 日韩三四五区| 自拍大香蕉乱插| 在线免费观看高清无码视频| 99热国产精品| 五十路熟女工口 | 东北丰满熟女国产一区| 欧美激情激情xxxx欧美专区| 人妻少妇久久| 少妇人妻精品| 国产精品肉丝自拍| 另类天堂| 免费人成在线观看网站品爱网| 亚洲九九九九| 又黄又硬又粗又长国产视频| 色综合超碰超| 免费久久9999| 97视频在线免费看| 久久久精品国产亚洲伊人| 国产成人精品日本视频| 亚洲天天综合| 亚洲性天堂| 日本ZZ高免费A级视频| 亚洲综合一| 青娱乐大香蕉| www.色婷婷| 六月丁香婷| 中文字幕 国产区| 久草福利在线资源站| 99老司机精品视频在线观看| 日韩在线观看三级电影| 91欧美亚洲| 亚州综| 偷拍 亚洲 欧美| 9 1果冻精品视频| 久久精品成人| 亚州欧美在线| 国产精品久久久午夜夜伦鲁鲁| 伊人96在线| 97视频在线视频| 黑人与人妻| 国产麻豆一区二三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧亚日韩中文在线| 97日韩超碰超碰中文字幕| AV女资源| 国产精品久久| 国产色产精品在线观看| 精品国模无码| 亚洲黄片免费在线播放| 激情天天视频| 干干干天天| 亚洲国产一级精品毛一级精品看免费视频| 狠狠色噜噜狠狠狠狠狠色综合久久| 萌白酱自拍视频| 双插性欧美一二三区| 免费中文在线| 91九色网| 国产视频一区二区三区久久亚洲天堂| 亚洲中文字幕有码视频一区二区三区| 中文字幕一区 二区三四五 区日 日骚| 午夜久久一区二区无码中出| 夜夜狼人妻| 日韩欧美成人大香蕉| 自拍盗摄一区| 天美传媒AV国产在线| 91精品国产长腿丝袜美女| 国产搭汕a级片| 亚洲欧洲成人在线电影| WWW啪啪的com| 国产精点久久久成人| 啊啊啊啊一区| 夜夜騷av、一區二區| 9997se| 无码粉嫩白虎一线天b区| 欧美色综合| 无码av永久免费专区网站| 伊人五月天| 刺激性视频黄页| 亚洲色图 图片| 女人香蕉久久毛毛片精品| 日韩啊V| 全免费a敌肛交毛片免费| 亚洲日本成人动漫| 久久999久| 欧美 亚洲 另类 综合| 精品97久久| 无码外流操逼视频| 色情成人五月天| 午夜天堂网| 久久久555| 老司机深夜18禁污污网站| 国产精品岛国片在线观看| 91原创在线观看| 97网址97| 91老熟女视频| 国内精品久久久久影院亚洲| 日韩pv中文| 欧美淫乱视频| se吧提供国产乱老熟视频胖女人| 久99| 1000午夜黄色| 色欧洲| 欧美日韩性爱视屏免费看了| 日本青青草在线| 超碰97综合在线| 三级色综合| 97色插| 人妻丰满熟妇av无码区蜜桃| 99热这里都是精品| a级成人毛片免费视频高清| 女色视频社区| 国产区在线| 奇米四色影视777久久久| 青娱乐亚洲热| 97中文字幕一区| 亚洲欧洲日韩天堂av| 日本 欧美 亚中文字幕| 久久国产精品视频| 国产精品久久久久久无码红治院| 亚洲成人一二三区| 亚洲午夜精品久久久中文影院| 综合在线导航一区| 色综合中文字幕不卡| 成人草草视频| 999国产精品999| 蜜臀久久99精品| 国产一区二区三区免费视频在性观看 | 久久久久久99999国产精品| 亚洲制服aⅴ中文字幕| 校园春色综合| 97综合国产| 久久婷婷亚洲| 夜夜嗨一区| 欧美久久伊人| 国产亚洲日本| 国产精品999zyz| 青青草视频久久久久| 日韩免费中文字幕视频| 欧美黑人XXXⅩ高潮交| 亚洲男人天堂手机版| 免费综合亚洲中文| 欧美日韩精品久久久久东北老熟妇| 小视频玖玖| 殴美,日韩国产伦精品| 97精品视频| 91 刺激在线| 无码人妻精品酒店| 欧美九9 9 9| 欧美色亚洲| 亚洲 欧美 中文 日韩超碰 | 99热国产| 日韩少妇一区二区三区| 91九色丰满高潮| 日韩成人性爱电影在线播放| 啊啊啊轻点在线观看| 国产伦乱91| 91久久国产精品| 亚洲色综合| 亚洲欧美啪啪| 五月婷婷大香蕉| 人人妻人人爽| 国产不卡片| 被窝影院午夜看片无码| 狠狠夜色午夜久久综合在线| 強姦亂倫a| 久久精品99| 激情久久久| 欧亚日韩中文在线| 色呦呦、国产精品| 影音先锋视频在线| 五月天欧美色图| 色播五月丁香| 久久久久国产精品久久久| 丁香激情网| 乱操乱伦AV| 超碰综合色| 中文字幕jul-617人妻熟女| 91亚洲网站| 青青草原狼av| 东北丰满熟女国产一区| 嫩草 我啊~嗯~在线| 3571色综合一区二区二区| av黄图片在线观看| 天天内射| 丁香五月性| 一级片视频啪啪| 欧美激情久久久久| 色五月av| 性videos欧美熟妇hdx| 欧美色道啊| 天综合网| 免费伦费视频在线观看| 中文三一区| oumeizonghese,www| 久久99人妖视频国产| 亚洲不卡三级手机播放| 精品二999| 久久久久13| 精品人妻av在线播放| 久久二| 夜草欧美| 午夜精品99久久久久传媒| 秋霞成人一级在线观看| 99精品丰满人妻无码| 欧美天天拍| 久热影视| 97爱亚洲| 精品国产91久久久久久一区黄无| 国产AV久久野战精品| 后入式免费视频| 九九九九九九九九九五码| aaa一级黄片| 日韩熟女无码| 久热精品在线| 97操在线| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 中文字幕精品亚洲熟女| 欧美亚洲激情小说| 性色av网站| 国产成人99久久亚洲综合| 麻豆一区二区三区在线看 | 青娱乐久久艹| 91露脸熟女专区| 九九热av| 蜜臀99久久精品久久久久久| 台湾肥佬网一区二区三区| 91 刺激在线| 日韩黄色一区二区三区| 亚洲,日韩,欧美,成人播放| 久久香蕉国产线看观看亚洲女人 | 精品四五区| 婷婷五月天小说| 欧美午夜视频精品久久| 国产日韩手机视频在线| 九九热九九| 四虎影视欧美| 丝袜色综合| 欧美色图人妻| 久久一二三级一一一| 久久久艹艹艹| 俺去也婷婷| 婷婷五月天成人网| 国产AV无码AV| 欧美日韩国产中文精品字幕自在自线| 国产精品爆乳懂色蜜乳| 97干在线| 亚洲人妻日日日| 超碰99在线| 欧美少妇高潮视频| 骚熟女AV网| 97超碰无码网| 美腿丝袜偷拍亚洲欧美| 四虎影库国产精品免费| 五月激情天| 亚洲色图久久成人| 五月婷婷综合激情| 天天干天天做| 五月天激情小说| 日本高清电影欧美色图| 翔田千里av一区二区三区| 色综合久久久久| 色婷婷色99国产综合精品| 国产亚洲99久久精品| 偷窥自拍A片| 涩五月婷婷| 玖玖婷婷五月天| 伊人成人中文字幕久久网| 国产人妻天天干精品| 亚洲av乱伦色图网站| 午夜福利视频在线一区| 午夜天天碰综合视频| 91小视频| 日本性爱少妇| 天天干夜夜一操| 人妻无一区二区三区| 日本十八禁免费看污网站| 亚洲美女AV无码| 99999精品视频| 亚洲五区熟女| 精品然女一区二区| 久久久久久久9最新免费视频观看| 欧美色图人妻| 东京热毛片调教| 人妻天堂网| 国产兽交视频在线播放| 国产精品盗摄 偷窥盗摄| 亚洲精品天堂久久A∨51成人漫| 亚洲色图尤物视频| 在线v中文字幕一区二区三区| 国产亚洲在线观看| 中文字幕在线播放2中文字幕在线观看2| 欧美少妇大量自拍视频在线观看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91国产丝袜美女| 天天做天天爱夜夜爽毛片试看| 亚洲丝袜综合| 无码高清国产AV| 色官网在线| 亚洲高清在线| 国产少妇肉丝在线观看| 情色AV电影| 国产精品视频在线播放| 亚洲第一男人天堂| 超碰色97| 国产Aα| 亚洲五月婷|